Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
81e521ee5c | |||
![]() |
b6737fcb9a |
Binary file not shown.
Before Width: | Height: | Size: 7.3 MiB |
88
flake.lock
generated
88
flake.lock
generated
@ -115,22 +115,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_3": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1696426674,
|
||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
@ -194,24 +178,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1705309234,
|
||||
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"fromYaml": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
@ -450,22 +416,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1708161998,
|
||||
"narHash": "sha256-6KnemmUorCvlcAvGziFosAVkrlWZGIc6UNT9GUYr0jQ=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "84d981bae8b5e783b3b548de505b22880559515f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-23.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nur": {
|
||||
"inputs": {
|
||||
"flake-parts": [
|
||||
@ -498,8 +448,7 @@
|
||||
"my-assets": "my-assets",
|
||||
"neovim-nightly-overlay": "neovim-nightly-overlay",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"stylix": "stylix",
|
||||
"zig": "zig"
|
||||
"stylix": "stylix"
|
||||
}
|
||||
},
|
||||
"stylix": {
|
||||
@ -551,21 +500,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"tinted-foot": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
@ -667,26 +601,6 @@
|
||||
"repo": "treefmt-nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"zig": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_3",
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": "nixpkgs_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1755864794,
|
||||
"narHash": "sha256-hgnov6RLA+DD4Uocs/vCbiH3/3sKvqiJOKHpdhGyVAI=",
|
||||
"owner": "mitchellh",
|
||||
"repo": "zig-overlay",
|
||||
"rev": "5cd601f8760d2383210b7b8c8a45fc79388f3ddf",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "mitchellh",
|
||||
"repo": "zig-overlay",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
|
@ -12,7 +12,6 @@
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay";
|
||||
zig.url = "github:mitchellh/zig-overlay";
|
||||
|
||||
my-assets = {
|
||||
url = "path:./assets";
|
||||
@ -25,7 +24,6 @@
|
||||
self,
|
||||
nixpkgs,
|
||||
my-assets,
|
||||
zig,
|
||||
...
|
||||
}@inputs:
|
||||
let
|
||||
@ -34,7 +32,6 @@
|
||||
# Common overlays for all hosts
|
||||
overlays = [
|
||||
inputs.neovim-nightly-overlay.overlays.default
|
||||
inputs.zig.overlays.default
|
||||
];
|
||||
|
||||
# Helper function to create a host configuration
|
||||
@ -71,7 +68,7 @@
|
||||
{
|
||||
nixosConfigurations = {
|
||||
desktop = mkHost "desktop" [
|
||||
./modules/system/nvidia.nix
|
||||
#./modules/system/nvidia.nix
|
||||
./modules/system/nfs.nix
|
||||
./modules/system/display-manager/sddm.nix
|
||||
./modules/system/gaming.nix
|
||||
|
@ -99,6 +99,7 @@
|
||||
brave
|
||||
git
|
||||
openssh
|
||||
firefox
|
||||
xdg-user-dirs-gtk # This helps with Nautilus integration
|
||||
cachix
|
||||
];
|
||||
@ -109,9 +110,9 @@
|
||||
};
|
||||
};
|
||||
|
||||
users.users.javi = {
|
||||
users.users.blaine = {
|
||||
isNormalUser = true;
|
||||
description = "javi";
|
||||
description = "blaine";
|
||||
shell = pkgs.zsh;
|
||||
useDefaultShell = true;
|
||||
extraGroups = [
|
||||
@ -124,7 +125,7 @@
|
||||
stateVersion = "25.05"; # Did you read the comment?
|
||||
activationScripts.avatar = ''
|
||||
mkdir -p /var/lib/AccountsService/icons
|
||||
ln -sf /etc/avatars/javi.png /var/lib/AccountsService/icons/javi
|
||||
ln -sf /etc/avatars/javi.png /var/lib/AccountsService/icons/blaine
|
||||
'';
|
||||
};
|
||||
|
||||
@ -169,20 +170,18 @@
|
||||
stylix = {
|
||||
enable = true;
|
||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark.yaml";
|
||||
# image = "/home/javi/Documents/wallpapers/Fantasy-Mountain.png";
|
||||
# image = "/home/blaine/Documents/wallpapers/Fantasy-Mountain.png";
|
||||
polarity = "dark";
|
||||
};
|
||||
|
||||
# Enable home manager
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
extraSpecialArgs = {
|
||||
inherit inputs;
|
||||
zigpkg = pkgs.zigpkgs.master;
|
||||
assets = assets;
|
||||
};
|
||||
users = {
|
||||
"javi" = {
|
||||
"blaine" = {
|
||||
imports = [
|
||||
../modules/home/home.nix
|
||||
];
|
||||
|
@ -9,7 +9,7 @@
|
||||
{
|
||||
imports = [
|
||||
../common-config.nix
|
||||
../../modules/system/nix-valet.nix
|
||||
# ../../modules/system/nix-valet.nix
|
||||
../../modules/system/device-management/logitech.nix
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
@ -21,16 +21,15 @@
|
||||
];
|
||||
};
|
||||
|
||||
fileSystems."/home/javi/working-files" = {
|
||||
fileSystems."/mnt/working-files" = {
|
||||
device = "/dev/disk/by-uuid/BE8EBBDA8EBB8A03";
|
||||
fsType = "ntfs";
|
||||
options = [
|
||||
"uid=1000" # your user ID (check with `id -u`)
|
||||
"gid=100" # your primary group ID (check with `id -g`)
|
||||
"dmask=022" # dir permissions
|
||||
"fmask=022" # file permissions
|
||||
"fmask=133" # file permissions
|
||||
"nofail"
|
||||
"exec"
|
||||
|
||||
# make Nautilus show it with a friendly name/icon
|
||||
"x-gvfs-show"
|
||||
@ -41,7 +40,6 @@
|
||||
environment = {
|
||||
systemPackages = with pkgs; [
|
||||
pkgs.ntfs3g
|
||||
zigpkgs.master
|
||||
];
|
||||
};
|
||||
}
|
||||
|
@ -1,71 +1,40 @@
|
||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}:
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
imports =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [
|
||||
"nvme"
|
||||
"xhci_pci"
|
||||
"ahci"
|
||||
"usb_storage"
|
||||
"usbhid"
|
||||
"sd_mod"
|
||||
];
|
||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-amd" ];
|
||||
boot.kernelModules = [ ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/8f492948-4572-44d4-9da9-9394894320f4";
|
||||
fsType = "ext4";
|
||||
};
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/bba79e96-6fd2-4124-b3cd-157c299eb999";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/EAA9-478C";
|
||||
fsType = "vfat";
|
||||
options = [
|
||||
"fmask=0077"
|
||||
"dmask=0077"
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/95EC-A63C";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0077" "dmask=0077" ];
|
||||
};
|
||||
|
||||
swapDevices =
|
||||
[ { device = "/dev/disk/by-uuid/b13461ea-9ff4-4843-b39b-d9d0759fff1e"; }
|
||||
];
|
||||
};
|
||||
|
||||
fileSystems."/home" = {
|
||||
device = "/dev/disk/by-uuid/6646d409-6417-4410-b3a0-fe6bafb2b9f3";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/tmp" = {
|
||||
device = "/dev/disk/by-uuid/9fe1009a-f604-40ff-a13d-e78d9041397f";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/var/log" = {
|
||||
device = "/dev/disk/by-uuid/9d39eb6d-09ab-4d66-8864-c19f9d59f620";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
swapDevices = [
|
||||
{ device = "/dev/disk/by-uuid/6fa52bf4-b1d9-468f-bc3a-f0c740e80c86"; }
|
||||
];
|
||||
|
||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||
# still possible to use this option, but it's recommended to use it in conjunction
|
||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.enp7s0.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.wlp6s0.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.enp5s0.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.wlp4s0.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
|
@ -6,7 +6,7 @@
|
||||
}:
|
||||
let
|
||||
kittyConfig = ''
|
||||
font_size 16.0
|
||||
font_size 11
|
||||
|
||||
background_opacity 0.7
|
||||
background_blur 1
|
||||
|
@ -60,10 +60,6 @@
|
||||
# Golang
|
||||
gr = "go run .";
|
||||
gmt = "go mod tidy";
|
||||
|
||||
# Zig
|
||||
zb = "zig build";
|
||||
zbr = "zig build run";
|
||||
};
|
||||
|
||||
# Additional bash configuration
|
||||
|
@ -1,417 +0,0 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
inputs,
|
||||
zigpkg,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
programs.vscode = {
|
||||
enable = true;
|
||||
package = pkgs.vscode; # or pkgs.vscodium for the open-source version
|
||||
|
||||
# Extensions
|
||||
extensions =
|
||||
with pkgs.vscode-extensions;
|
||||
[
|
||||
# Misc
|
||||
vscodevim.vim
|
||||
eamodio.gitlens
|
||||
christian-kohler.path-intellisense
|
||||
catppuccin.catppuccin-vsc-icons
|
||||
foxundermoon.shell-format
|
||||
gruntfuggly.todo-tree
|
||||
jdinhlife.gruvbox
|
||||
redhat.ansible
|
||||
redhat.vscode-yaml
|
||||
shd101wyy.markdown-preview-enhanced
|
||||
ms-vsliveshare.vsliveshare
|
||||
pkief.material-icon-theme
|
||||
tamasfe.even-better-toml
|
||||
# PHP
|
||||
bmewburn.vscode-intelephense-client
|
||||
# Html/Front End Support
|
||||
bradlc.vscode-tailwindcss
|
||||
formulahendry.auto-close-tag
|
||||
formulahendry.auto-rename-tag
|
||||
svelte.svelte-vscode
|
||||
vue.volar
|
||||
# Go
|
||||
golang.go
|
||||
mikestead.dotenv
|
||||
# Python
|
||||
ms-python.debugpy
|
||||
ms-python.python
|
||||
ms-python.vscode-pylance
|
||||
# Zig
|
||||
ziglang.vscode-zig
|
||||
# C++
|
||||
ms-vscode.cpptools
|
||||
ms-vscode.cmake-tools
|
||||
# delgan.qml-format
|
||||
# Nix
|
||||
mkhl.direnv
|
||||
jnoortheen.nix-ide
|
||||
# adpyke.vscode-sql-formatter
|
||||
# adrianwilczynski.alpine-js-intellisense
|
||||
# anthropic.claude-code
|
||||
# cierra.livewire-vscode
|
||||
# neilbrayfield.php-docblocker
|
||||
# zignd.html-css-class-completion
|
||||
]
|
||||
++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
|
||||
# Extensions not in nixpkgs
|
||||
{
|
||||
name = "base16-tinted-themes";
|
||||
publisher = "TintedTheming";
|
||||
version = "0.27.0";
|
||||
sha256 = "7wLBwfaXEoumAfp9kK5Mv1VaGffuGdoYMGZ+ZjN9G8Q=";
|
||||
}
|
||||
{
|
||||
name = "vscode-laravel";
|
||||
publisher = "laravel";
|
||||
version = "1.0.14";
|
||||
sha256 = "DEHr8kAGm6ShdQCThh7MUhv24Ghwg10mGDhZgUIojrY=";
|
||||
}
|
||||
{
|
||||
name = "phpstorm-snippets";
|
||||
publisher = "phiter";
|
||||
version = "1.1.2";
|
||||
sha256 = "EHEzM4YKYR+2r6RVun8tSjGYDsbriBPATNwxczEuqjQ=";
|
||||
}
|
||||
{
|
||||
name = "laravel-blade";
|
||||
publisher = "onecentlin";
|
||||
version = "1.37.0";
|
||||
sha256 = "q5CTRj746404yM9mhOWYAGTzt/8CJ7Fx4QUQSJ+LdLs=";
|
||||
}
|
||||
# Qt Extension Pack
|
||||
{
|
||||
name = "qt-qml";
|
||||
publisher = "TheQtCompany";
|
||||
version = "1.7.0";
|
||||
sha256 = "QjfvZIcE4LcJU93YiYN/zykEluHtR7zVOwYiPL0k+cQ=";
|
||||
}
|
||||
{
|
||||
name = "qt-ui";
|
||||
publisher = "TheQtCompany";
|
||||
version = "1.7.0";
|
||||
sha256 = "XDOIyCZIUYPGfcszZMUkR9MHH+zrXZgympKNhcQwITY=";
|
||||
}
|
||||
{
|
||||
name = "qt-core";
|
||||
publisher = "TheQtCompany";
|
||||
version = "1.7.0";
|
||||
sha256 = "2413vMpvxSYBKpaD14sMgI92W8NtCYa/sJ7PZO62WfY=";
|
||||
}
|
||||
];
|
||||
|
||||
# User settings
|
||||
userSettings = {
|
||||
# Disable the fucking copilot chat
|
||||
"github.copilot.chat.showChatPanel" = false;
|
||||
"github.copilot.enable" = false;
|
||||
"window.titleBarStyle" = "custom";
|
||||
"window.customTitleBarVisibility" = "auto";
|
||||
"workbench.colorTheme" = lib.mkForce "Gruvbox Dark Hard";
|
||||
"git.autofetch" = true;
|
||||
"editor.fontSize" = lib.mkForce 18;
|
||||
"editor.snippetSuggestions" = "top";
|
||||
"editor.formatOnPaste" = true;
|
||||
"editor.formatOnSave" = true;
|
||||
"qt-qml.qmlls.useQmlImportPathEnvVar" = true;
|
||||
"[qml]" = {
|
||||
"editor.defaultFormatter" = "Delgan.qml-format";
|
||||
"editor.formatOnSave" = true;
|
||||
};
|
||||
"[yaml]" = {
|
||||
"editor.formatOnSave" = false;
|
||||
};
|
||||
"[astro]" = {
|
||||
"editor.formatOnSave" = false;
|
||||
};
|
||||
"[dockerfile]" = {
|
||||
"editor.formatOnSave" = false;
|
||||
"editor.formatOnPaste" = false;
|
||||
"editor.formatOnType" = false;
|
||||
"editor.defaultFormatter" = "ms-azuretools.vscode-containers";
|
||||
};
|
||||
"tailwindCSS.includeLanguages" = {
|
||||
"templ" = "html";
|
||||
};
|
||||
"emmet.triggerExpansionOnTab" = true;
|
||||
"editor.autoIndent" = "full";
|
||||
"files.eol" = "\n";
|
||||
"emmet.excludeLanguages" = [ ];
|
||||
"emmet.includeLanguages" = {
|
||||
"blade" = "html";
|
||||
"templ" = "html";
|
||||
"markdown" = "html";
|
||||
};
|
||||
"explorer.openEditors.visible" = 0;
|
||||
"editor.tabCompletion" = "on";
|
||||
"workbench.editor.highlightModifiedTabs" = true;
|
||||
"git.enableSmartCommit" = true;
|
||||
"extensions.ignoreRecommendations" = true;
|
||||
"blade.format.enable" = true;
|
||||
"editor.autoClosingBrackets" = "always";
|
||||
"material-icon-theme.folders.theme" = "specific";
|
||||
"security.workspace.trust.untrustedFiles" = "open";
|
||||
"editor.unusualLineTerminators" = "auto";
|
||||
"files.associations" = { };
|
||||
"intelephense.environment.phpVersion" = "8.1.0";
|
||||
"git.useEditorAsCommitInput" = false;
|
||||
"editor.inlineSuggest.enabled" = true;
|
||||
"[xml]" = {
|
||||
"editor.defaultFormatter" = "redhat.vscode-xml";
|
||||
};
|
||||
"terminal.integrated.fontSize" = lib.mkForce 18;
|
||||
"explorer.confirmDragAndDrop" = false;
|
||||
"editor.unicodeHighlight.nonBasicASCII" = false;
|
||||
"markdown-preview-enhanced.previewTheme" = "github-dark.css";
|
||||
"window.commandCenter" = false;
|
||||
"workbench.editor.editorActionsLocation" = "hidden";
|
||||
"workbench.layoutControl.enabled" = false;
|
||||
"editor.minimap.enabled" = false;
|
||||
"workbench.activityBar.location" = "hidden";
|
||||
"editor.fontFamily" = lib.mkForce "'Fira Code Retina'";
|
||||
"editor.fontLigatures" = true;
|
||||
"keyboard.dispatch" = "keyCode";
|
||||
"workbench.iconTheme" = "catppuccin-frappe";
|
||||
"search.useIgnoreFiles" = false;
|
||||
"search.exclude" = {
|
||||
# Hide everything in /vendor; except the "laravel" and "livewire" folder.
|
||||
"**/vendor/{[^l];?[^ai]}*" = true;
|
||||
# Hide everything in /public; except "index.php"
|
||||
"**/public/{[^i];?[^n]}*" = true;
|
||||
"**/node_modules" = true;
|
||||
"**/dist" = true;
|
||||
"**/_ide_helper.php" = true;
|
||||
"**/composer.lock" = true;
|
||||
"**/package-lock.json" = true;
|
||||
"storage" = true;
|
||||
".phpunit.result.cache" = true;
|
||||
};
|
||||
"scm.diffDecorations" = "none";
|
||||
"editor.hover.enabled" = false;
|
||||
"editor.matchBrackets" = "never";
|
||||
"workbench.tips.enabled" = false;
|
||||
"editor.colorDecorators" = false;
|
||||
"git.decorations.enabled" = false;
|
||||
"workbench.startupEditor" = "none";
|
||||
"editor.lightbulb.enabled" = "off";
|
||||
"editor.selectionHighlight" = false;
|
||||
"editor.overviewRulerBorder" = false;
|
||||
"editor.renderLineHighlight" = "none";
|
||||
"editor.occurrencesHighlight" = "off";
|
||||
"problems.decorations.enabled" = false;
|
||||
"editor.renderControlCharacters" = false;
|
||||
"editor.hideCursorInOverviewRuler" = true;
|
||||
"editor.gotoLocation.multipleReferences" = "goto";
|
||||
"editor.gotoLocation.multipleDefinitions" = "goto";
|
||||
"editor.gotoLocation.multipleDeclarations" = "goto";
|
||||
"workbench.editor.enablePreviewFromQuickOpen" = false;
|
||||
"editor.gotoLocation.multipleImplementations" = "goto";
|
||||
"editor.gotoLocation.multipleTypeDefinitions" = "goto";
|
||||
"editor.cursorSurroundingLines" = 200;
|
||||
"workbench.editor.pinnedTabsOnSeparateRow" = true;
|
||||
"C_Cpp.default.compileCommands" = "\${workspaceFolder}/build/compile_commands.json";
|
||||
"C_Cpp.default.configurationProvider" = "ms-vscode.cmake-tools";
|
||||
"window.menuBarVisibility" = "compact";
|
||||
"vim.leader" = "<space>";
|
||||
"vim.normalModeKeyBindings" = [
|
||||
{
|
||||
"before" = [
|
||||
"g"
|
||||
"r"
|
||||
];
|
||||
"commands" = [ "editor.action.goToReferences" ];
|
||||
}
|
||||
{
|
||||
"before" = [
|
||||
"g"
|
||||
"v"
|
||||
];
|
||||
"commands" = [ "editor.action.revealDefinitionAside" ];
|
||||
}
|
||||
{
|
||||
"before" = [
|
||||
"<leader>"
|
||||
"o"
|
||||
];
|
||||
"commands" = [ "workbench.action.quickOpen" ];
|
||||
}
|
||||
{
|
||||
"before" = [
|
||||
"<leader>"
|
||||
"p"
|
||||
];
|
||||
"commands" = [ "workbench.action.showCommands" ];
|
||||
}
|
||||
{
|
||||
"before" = [
|
||||
"<leader>"
|
||||
"i"
|
||||
];
|
||||
"commands" = [ "workbench.action.quickOpenPreviousRecentlyUsedEditorInGroup" ];
|
||||
}
|
||||
];
|
||||
"vim.insertModeKeyBindings" = [
|
||||
{
|
||||
"before" = [
|
||||
"j"
|
||||
"j"
|
||||
];
|
||||
"after" = [ "<Esc>" ];
|
||||
}
|
||||
];
|
||||
"vim.visualModeKeyBindings" = [
|
||||
{
|
||||
"before" = [ "<Enter>" ];
|
||||
"after" = [ "<Esc>" ];
|
||||
}
|
||||
];
|
||||
"workbench.editor.showTabs" = "none";
|
||||
"ansible.lightspeed.enabled" = false;
|
||||
"ansible.lightspeed.suggestions.enabled" = false;
|
||||
"[sql]" = {
|
||||
"editor.formatOnSave" = false;
|
||||
};
|
||||
"svelte.enable-ts-plugin" = true;
|
||||
"workbench.sideBar.location" = "right";
|
||||
"workbench.panel.defaultLocation" = "right";
|
||||
"zig.zls.enabled" = "on";
|
||||
"zig.path" = "${zigpkg}/bin/zig";
|
||||
"zig.zls.path" = "${pkgs.zls}/bin/zls";
|
||||
"zig.zls.zigLibPath" = "${zigpkg}/lib";
|
||||
"zig.zls.completionLabelDetails" = false;
|
||||
"zig.zls.enableArgumentPlaceholders" = false;
|
||||
"zig.zls.inlayHintsShowParameterName" = false;
|
||||
"zig.zls.inlayHintsShowVariableTypeHints" = false;
|
||||
};
|
||||
|
||||
# Keybindings
|
||||
keybindings = [
|
||||
{
|
||||
"key" = "ctrl+k";
|
||||
"command" = "git.commitAll";
|
||||
"when" = "!inDebugMode && !terminalFocus";
|
||||
}
|
||||
{
|
||||
"key" = "ctrl+shift+k";
|
||||
"command" = "git.pushTo";
|
||||
"when" = "!inDebugMode && !terminalFocus";
|
||||
}
|
||||
{
|
||||
"key" = "ctrl+shift+n";
|
||||
"command" = "workbench.action.quickOpen";
|
||||
}
|
||||
{
|
||||
"key" = "shift+escape";
|
||||
"command" = "workbench.action.terminal.toggleTerminal";
|
||||
}
|
||||
{
|
||||
"key" = "ctrl+shift+`";
|
||||
"command" = "workbench.action.closeAllEditors";
|
||||
}
|
||||
{
|
||||
"key" = "ctrl+shift+1";
|
||||
"command" = "workbench.files.action.collapseExplorerFolders";
|
||||
}
|
||||
{
|
||||
"key" = "ctrl+shift+e";
|
||||
"command" = "workbench.view.explorer";
|
||||
}
|
||||
{
|
||||
"key" = "ctrl+shift+e";
|
||||
"command" = "workbench.action.toggleSidebarVisibility";
|
||||
"when" = "!editorFocus";
|
||||
}
|
||||
{
|
||||
"key" = "ctrl+1";
|
||||
"command" = "workbench.action.toggleSidebarVisibility";
|
||||
}
|
||||
{
|
||||
"key" = "ctrl+a";
|
||||
"command" = "explorer.newFile";
|
||||
"when" = "explorerViewletVisible && filesExplorerFocus && !inputFocus";
|
||||
}
|
||||
{
|
||||
"key" = "ctrl+shift+a";
|
||||
"command" = "explorer.newFolder";
|
||||
"when" = "explorerViewletVisible && filesExplorerFocus && !inputFocus";
|
||||
}
|
||||
{
|
||||
"key" = "ctrl+d";
|
||||
"command" = "deleteFile";
|
||||
"when" = "explorerViewletVisible && filesExplorerFocus && !inputFocus";
|
||||
}
|
||||
{
|
||||
"key" = "ctrl+\\";
|
||||
"command" = "workbench.action.splitEditorRight";
|
||||
"when" = "editorFocus";
|
||||
}
|
||||
{
|
||||
"key" = "ctrl+h";
|
||||
"command" = "workbench.action.navigateLeft";
|
||||
"when" = "editorFocus";
|
||||
}
|
||||
{
|
||||
"key" = "ctrl+l";
|
||||
"command" = "workbench.action.navigateRight";
|
||||
"when" = "editorFocus";
|
||||
}
|
||||
{
|
||||
"key" = "ctrl+*";
|
||||
"command" = "workbench.action.increaseViewSize";
|
||||
"when" = "editorFocus";
|
||||
}
|
||||
{
|
||||
"key" = "ctrl+/";
|
||||
"command" = "workbench.action.decreaseViewSize";
|
||||
"when" = "editorFocus";
|
||||
}
|
||||
{
|
||||
"key" = "ctrl+shift+w";
|
||||
"command" = "workbench.action.joinAllGroups";
|
||||
"when" = "editorFocus";
|
||||
}
|
||||
{
|
||||
"key" = "ctrl+shift+alt+p";
|
||||
"command" = "editor.emmet.action.wrapWithAbbreviation";
|
||||
"when" = "editorTextFocus";
|
||||
}
|
||||
{
|
||||
"key" = "ctrl+shift+alt+i";
|
||||
"command" = "editor.emmet.action.balanceIn";
|
||||
"when" = "editorTextFocus";
|
||||
}
|
||||
{
|
||||
"key" = "ctrl+shift+alt+o";
|
||||
"command" = "editor.emmet.action.balanceOut";
|
||||
"when" = "editorTextFocus";
|
||||
}
|
||||
{
|
||||
"key" = "alt+n";
|
||||
"command" = "workbench.action.quickOpenSelectNext";
|
||||
"when" = "inQuickOpen";
|
||||
}
|
||||
{
|
||||
"key" = "alt+p";
|
||||
"command" = "workbench.action.quickOpenSelectPrevious";
|
||||
"when" = "inQuickOpen";
|
||||
}
|
||||
{
|
||||
"key" = "alt+0";
|
||||
"command" = "workbench.action.closeQuickOpen";
|
||||
"when" = "inQuickOpen";
|
||||
}
|
||||
{
|
||||
"key" = "ctrl+shift+\\";
|
||||
"command" = "workbench.action.toggleAuxiliaryBar";
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
@ -14,7 +14,6 @@
|
||||
./common/starship.nix
|
||||
./common/yazi.nix
|
||||
./common/fzf.nix
|
||||
./common/vscode.nix
|
||||
./hyprland
|
||||
];
|
||||
|
||||
@ -27,17 +26,14 @@
|
||||
# package = pkgs.papirus-icon-theme;
|
||||
# };
|
||||
# };
|
||||
|
||||
home = {
|
||||
username = "javi";
|
||||
homeDirectory = "/home/javi";
|
||||
username = "blaine";
|
||||
homeDirectory = "/home/blaine";
|
||||
stateVersion = "25.05"; # Home manager version. Do not update carelessly
|
||||
packages = with pkgs; [
|
||||
# Basics
|
||||
quickshell
|
||||
zoom-us
|
||||
obsidian
|
||||
kdePackages.kdenlive
|
||||
ffmpeg
|
||||
|
||||
# Terminal tools
|
||||
ripgrep
|
||||
@ -53,7 +49,6 @@
|
||||
claude-code
|
||||
xsel
|
||||
nss.tools
|
||||
ansible
|
||||
|
||||
# System tools
|
||||
btop
|
||||
@ -69,7 +64,6 @@
|
||||
go
|
||||
nodejs_22
|
||||
bun
|
||||
zls # Zig language server
|
||||
];
|
||||
|
||||
sessionVariables = {
|
||||
@ -83,7 +77,6 @@
|
||||
XDG_CONFIG_HOME = "${config.home.homeDirectory}/.config";
|
||||
XDG_DATA_HOME = "${config.home.homeDirectory}/.local/share";
|
||||
XDG_STATE_HOME = "${config.home.homeDirectory}/.local/state";
|
||||
QT_QPA_PLATFORM = "wayland";
|
||||
};
|
||||
};
|
||||
|
||||
@ -92,11 +85,6 @@
|
||||
btop = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
direnv = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
};
|
||||
};
|
||||
|
||||
stylix = {
|
||||
|
@ -55,15 +55,14 @@
|
||||
"$mod, SPACE, exec, wofi --show drun"
|
||||
"$mod, d, exec, ${pkgs.wofi-emoji}/bin/wofi-emoji"
|
||||
|
||||
"$mod SHIFT, s, exec, flameshot gui"
|
||||
"$mod SHIFT, s, exec, hyprshot --mode region"
|
||||
", PRINT, exec, hyprshot --mode output"
|
||||
|
||||
"$mod SHIFT, c, togglespecialworkspace, comms"
|
||||
"$mod SHIFT, a, togglespecialworkspace, research"
|
||||
"$mod SHIFT ALT, x, exec, hyprctl dispatch exit"
|
||||
"$mod SHIFT ALT, l, exec, hyprlock"
|
||||
# "SHIFT, Print, exec, grimblast copy area"
|
||||
# "CTRL, Print, exec, grimblast copy active"
|
||||
"SHIFT, Print, exec, grimblast copy area"
|
||||
"CTRL, Print, exec, grimblast copy active"
|
||||
]
|
||||
++ (
|
||||
# workspaces
|
||||
|
@ -10,10 +10,8 @@
|
||||
./binds.nix
|
||||
./hyprpaper.nix
|
||||
./hyprpanel.nix
|
||||
./hyprlock.nix
|
||||
./wofi.nix
|
||||
./desktop-env.nix
|
||||
./screenshots.nix
|
||||
];
|
||||
|
||||
home = {
|
||||
@ -24,9 +22,16 @@
|
||||
packages = with pkgs; [
|
||||
# Notifications
|
||||
libnotify
|
||||
|
||||
# Screenshots
|
||||
grim
|
||||
slurp
|
||||
wl-clipboard
|
||||
hyprshot
|
||||
|
||||
# Desktop env
|
||||
hyprpanel
|
||||
hyprpolkitagent
|
||||
|
||||
# Utility
|
||||
wl-clipboard
|
||||
];
|
||||
@ -61,8 +66,10 @@
|
||||
repeat_rate = 20;
|
||||
};
|
||||
|
||||
|
||||
monitor = [
|
||||
"DP-5, 3440x1440@179.99, 0x0, 1"
|
||||
"DP-1, 2560x1600@59.97200, 0x0, 1"
|
||||
"DP-2, 1920x1080@60.00000, 2560x-375, 1, transform, 1"
|
||||
];
|
||||
|
||||
general = {
|
||||
@ -99,8 +106,6 @@
|
||||
exec-once = [
|
||||
# "quickshell -c hyprshell"
|
||||
"hyprpanel"
|
||||
"hypridle"
|
||||
"systemctl --user start hyprpolkitagent"
|
||||
];
|
||||
};
|
||||
|
||||
|
@ -1,87 +0,0 @@
|
||||
{
|
||||
inputs,
|
||||
assets,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
{
|
||||
programs.hyprlock = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
# Variables
|
||||
"$font" = "Monospace";
|
||||
|
||||
general = {
|
||||
hide_cursor = false;
|
||||
};
|
||||
|
||||
animations = {
|
||||
enabled = true;
|
||||
bezier = "linear, 1, 1, 0, 0";
|
||||
animation = [
|
||||
"fadeIn, 1, 5, linear"
|
||||
"fadeOut, 1, 5, linear"
|
||||
"inputFieldDots, 1, 2, linear"
|
||||
];
|
||||
};
|
||||
|
||||
background = lib.mkForce [
|
||||
{
|
||||
monitor = "";
|
||||
path = "/etc/lockscreen.png";
|
||||
blur_passes = 1;
|
||||
}
|
||||
];
|
||||
|
||||
# input-field = [
|
||||
# {
|
||||
# monitor = "";
|
||||
# size = "20%, 5%";
|
||||
# fade_on_empty = false;
|
||||
# rounding = 15;
|
||||
# font_family = "$font";
|
||||
# placeholder_text = "Input password...";
|
||||
# fail_text = "$PAMFAIL";
|
||||
# # Uncomment to use a letter instead of a dot to indicate the typed password
|
||||
# # dots_text_format = "*";
|
||||
# # dots_size = 0.4;
|
||||
# dots_spacing = 0.3;
|
||||
# # Uncomment to use an input indicator that does not show the password length
|
||||
# # hide_input = true;
|
||||
# position = "0, -20";
|
||||
# halign = "center";
|
||||
# valign = "center";
|
||||
# }
|
||||
# ];
|
||||
|
||||
# Labels are defined as a list since there are multiple
|
||||
label = [
|
||||
# TIME
|
||||
{
|
||||
monitor = "";
|
||||
text = "$TIME"; # ref. https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock/#variable-substitution
|
||||
font_size = 90;
|
||||
font_family = "$font";
|
||||
position = "-30, 0";
|
||||
halign = "right";
|
||||
valign = "top";
|
||||
}
|
||||
# DATE
|
||||
{
|
||||
monitor = "";
|
||||
text = ''cmd[update:60000] date +"%A, %d %B %Y"''; # update every 60 seconds
|
||||
font_size = 25;
|
||||
font_family = "$font";
|
||||
position = "-30, -150";
|
||||
halign = "right";
|
||||
valign = "top";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
stylix.targets.hyprlock = {
|
||||
useWallpaper = true;
|
||||
};
|
||||
}
|
@ -18,11 +18,11 @@
|
||||
ipc = "on";
|
||||
splash = false;
|
||||
preload = [
|
||||
"/home/javi/.config/wallpaper.png"
|
||||
"/home/blaine/.config/wallpaper.png"
|
||||
];
|
||||
|
||||
wallpaper = [
|
||||
", /home/javi/.config/wallpaper.png"
|
||||
", /home/blaine/.config/wallpaper.png"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
@ -1,20 +0,0 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
nixpkgs.config.packageOverrides = pkgs: {
|
||||
flameshot = pkgs.flameshot.override {
|
||||
enableWlrSupport = true;
|
||||
};
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
flameshot
|
||||
grim
|
||||
slurp
|
||||
];
|
||||
}
|
@ -23,7 +23,7 @@
|
||||
};
|
||||
};
|
||||
|
||||
users.users.javi.extraGroups = [
|
||||
users.users.blaine.extraGroups = [
|
||||
"input"
|
||||
"plugdev"
|
||||
];
|
||||
|
@ -6,14 +6,13 @@
|
||||
...
|
||||
}:
|
||||
let
|
||||
basePath = "/home/javi/Documents/wallpapers";
|
||||
basePath = "/home/blaine/Documents/wallpapers";
|
||||
wallpaper = "Fantasy-Mountain.png";
|
||||
in
|
||||
{
|
||||
environment = {
|
||||
etc = {
|
||||
"sddm-wallpaper.png".source = "${assets}/sddm-background.png";
|
||||
"lockscreen.png".source = "${assets}/lockscreen.png";
|
||||
"gtk-3.0/settings.ini".text = ''
|
||||
[Settings]
|
||||
gtk-icon-theme-name=Papirus
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
# Install Steam
|
||||
@ -8,15 +8,4 @@
|
||||
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
|
||||
localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
gamemode
|
||||
];
|
||||
|
||||
# In your configuration.nix
|
||||
hardware.opengl = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
services.xserver.videoDrivers = [ "nvidia" ];
|
||||
}
|
||||
|
@ -6,12 +6,11 @@ let
|
||||
shares = [
|
||||
"backups"
|
||||
"container-data"
|
||||
"javi"
|
||||
"xrandr"
|
||||
"blaine"
|
||||
];
|
||||
|
||||
configureShare = share: {
|
||||
name = "/home/javi/network-shares/${share}";
|
||||
name = "/mnt/${share}";
|
||||
value = {
|
||||
device = "${nasIp}:${baseMnt}/${share}";
|
||||
fsType = "nfs";
|
||||
@ -20,6 +19,11 @@ let
|
||||
"noauto"
|
||||
"rw"
|
||||
"vers=4"
|
||||
|
||||
# make Nautilus/Dolphin/Any File Manager show it with a friendly name/icon
|
||||
"x-gvfs-show"
|
||||
"x-gvfs-name=NAS — ${share}"
|
||||
"x-gvfs-icon=network-server"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
@ -11,7 +11,18 @@
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
customCaddy = pkgs.xcaddy {
|
||||
pname = "caddy-frankenphp";
|
||||
version = "2.7.6";
|
||||
|
||||
subPackages = [ "cmd/caddy" ];
|
||||
|
||||
plugins = [
|
||||
"github.com/dunglas/frankenphp/caddy"
|
||||
];
|
||||
};
|
||||
in
|
||||
{
|
||||
services = {
|
||||
# Enable dnsmasq
|
||||
@ -36,92 +47,44 @@
|
||||
};
|
||||
|
||||
# Enable PHP-FPM
|
||||
# phpfpm = {
|
||||
# pools.www = {
|
||||
# user = "javi";
|
||||
# group = "users";
|
||||
# settings = {
|
||||
# "listen.owner" = "javi";
|
||||
# "listen.group" = "users";
|
||||
# "listen.mode" = "0660";
|
||||
# "pm" = "dynamic";
|
||||
# "pm.max_children" = 32;
|
||||
# "pm.start_servers" = 2;
|
||||
# "pm.min_spare_servers" = 2;
|
||||
# "pm.max_spare_servers" = 4;
|
||||
# "pm.max_requests" = 500;
|
||||
# };
|
||||
# phpEnv."PATH" = lib.makeBinPath [ pkgs.php ];
|
||||
# };
|
||||
# };
|
||||
phpfpm = {
|
||||
pools.www = {
|
||||
user = "blaine";
|
||||
group = "users";
|
||||
settings = {
|
||||
"listen.owner" = "blaine";
|
||||
"listen.group" = "users";
|
||||
"listen.mode" = "0660";
|
||||
"pm" = "dynamic";
|
||||
"pm.max_children" = 32;
|
||||
"pm.start_servers" = 2;
|
||||
"pm.min_spare_servers" = 2;
|
||||
"pm.max_spare_servers" = 4;
|
||||
"pm.max_requests" = 500;
|
||||
};
|
||||
phpEnv."PATH" = lib.makeBinPath [ pkgs.php ];
|
||||
};
|
||||
};
|
||||
|
||||
# Enable Caddy
|
||||
caddy = {
|
||||
enable = true;
|
||||
package = pkgs.frankenphp;
|
||||
package = customCaddy;
|
||||
globalConfig = ''
|
||||
auto_https off
|
||||
frankenphp
|
||||
debug
|
||||
order php_server before file_server
|
||||
'';
|
||||
/*
|
||||
WORKING CONFIG
|
||||
map {host} {pname} {
|
||||
~^(.+)\.test$ $1
|
||||
default "unknown"
|
||||
}
|
||||
root * /home/javi/projects/{pname}/public
|
||||
|
||||
# Add file server directive with browse enabled for debugging
|
||||
file_server browse
|
||||
|
||||
# Or for PHP apps, add try_files
|
||||
try_files {path} {path}/ /index.php?{query}
|
||||
|
||||
php_server
|
||||
*/
|
||||
extraConfig = ''
|
||||
# Specific subdomain first (more specific routes come first)
|
||||
http://caddytest.test {
|
||||
respond "fuck"
|
||||
respond "We in caddyland"
|
||||
}
|
||||
|
||||
http://*.test, http://*.*.test {
|
||||
map {host} {project_dir} {
|
||||
~^(.+)\.test$ $1
|
||||
default "unknown"
|
||||
}
|
||||
|
||||
vars base_path "/home/javi/projects/{project_dir}"
|
||||
|
||||
@laravel file {
|
||||
root {vars.base_path}/public
|
||||
try_files index.php
|
||||
}
|
||||
|
||||
@jigsaw file {
|
||||
root {vars.base_path}/build_local
|
||||
try_files index.html
|
||||
}
|
||||
|
||||
handle @laravel {
|
||||
root * {vars.base_path}/public
|
||||
# Wildcard for other .test domains
|
||||
http://*.test {
|
||||
root * /home/blaine/projects/{labels.1}/public
|
||||
php_server
|
||||
file_server
|
||||
|
||||
try_files {path} {path}/ /index.php?{query}
|
||||
}
|
||||
|
||||
handle @jigsaw {
|
||||
root * {vars.base_path}/build_local
|
||||
try_files {path} {path}/ /index.html
|
||||
file_server
|
||||
}
|
||||
|
||||
handle {
|
||||
respond "Unknown project type"
|
||||
}
|
||||
}
|
||||
'';
|
||||
};
|
||||
@ -162,18 +125,13 @@
|
||||
|
||||
# Create a dedicated caddy config directory
|
||||
systemd.tmpfiles.rules = [
|
||||
"d /var/lib/caddy 0755 javi users -"
|
||||
"d /var/lib/caddy 0755 blaine users -"
|
||||
];
|
||||
|
||||
systemd.services.caddy = {
|
||||
serviceConfig = {
|
||||
User = lib.mkForce "javi";
|
||||
User = lib.mkForce "blaine";
|
||||
Group = lib.mkForce "users";
|
||||
|
||||
ProtectHome = lib.mkForce false; # This is key!
|
||||
ProtectSystem = lib.mkForce false;
|
||||
PrivateTmp = lib.mkForce false;
|
||||
|
||||
# More comprehensive capabilities
|
||||
AmbientCapabilities = [
|
||||
"CAP_NET_BIND_SERVICE"
|
||||
@ -193,7 +151,7 @@
|
||||
};
|
||||
|
||||
# And make sure your user is in the caddy group
|
||||
users.users.javi = {
|
||||
users.users.blaine = {
|
||||
extraGroups = [
|
||||
"users"
|
||||
];
|
||||
|
Loading…
x
Reference in New Issue
Block a user