move to nushell

This commit is contained in:
zack 2025-05-19 18:28:46 -04:00
parent fdd9dd20ae
commit caf9810290
No known key found for this signature in database
GPG key ID: EE8A2B709E2401D1
24 changed files with 521 additions and 469 deletions

View file

@ -168,6 +168,7 @@ Now, lets add a file to define your home. Create a file at `homes/x86_64-linux/<
dircolors = {
enable = true;
enableZshIntegration = true;
enableNushellIntegration = true;
};
};

331
flake.lock generated
View file

@ -10,11 +10,11 @@
"systems": "systems"
},
"locked": {
"lastModified": 1745630506,
"narHash": "sha256-bHCFgGeu8XjWlVuaWzi3QONjDW3coZDqSHvnd4l7xus=",
"lastModified": 1747575206,
"narHash": "sha256-NwmAFuDUO/PFcgaGGr4j3ozG9Pe5hZ/ogitWhY+D81k=",
"owner": "ryantm",
"repo": "agenix",
"rev": "96e078c646b711aee04b82ba01aefbff87004ded",
"rev": "4835b1dc898959d8547a871ef484930675cb47f1",
"type": "github"
},
"original": {
@ -136,11 +136,11 @@
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1746650299,
"narHash": "sha256-4+pxk1KcSH8ww3tgN808nNJ3E7Q8gNWI+U0sesW7mBQ=",
"lastModified": 1747519437,
"narHash": "sha256-uv9Wv59d+mckS2CkorOF484wp2G5TNGijdoBZ5RkAk0=",
"owner": "catppuccin",
"repo": "nix",
"rev": "f746600f15b69df05c84e3037749a3be5b1276d1",
"rev": "3ba714046ee32373e88166e6e9474d6ae6a5b734",
"type": "github"
},
"original": {
@ -158,11 +158,11 @@
"nixpkgs": "nixpkgs_5"
},
"locked": {
"lastModified": 1746787516,
"narHash": "sha256-CEaMMkWFO5dSnKheGrT4yPnx6gv+qlCNdtd4tolZL6g=",
"lastModified": 1747576719,
"narHash": "sha256-a+QFKYlsgWZyuCdFqjRout85mZjrtkq1dmMEPuB50qA=",
"owner": "chaotic-cx",
"repo": "nyx",
"rev": "a22be7029506f1bf53a24c22fbc7f746680dc733",
"rev": "a5137694fccd0a36dc0c578c3ce9b02278a8f198",
"type": "github"
},
"original": {
@ -237,11 +237,11 @@
]
},
"locked": {
"lastModified": 1746729224,
"narHash": "sha256-9R4sOLAK1w3Bq54H3XOJogdc7a6C2bLLmatOQ+5pf5w=",
"lastModified": 1747274630,
"narHash": "sha256-87RJwXbfOHyzTB9LYagAQ6vOZhszCvd8Gvudu+gf3qo=",
"owner": "nix-community",
"repo": "disko",
"rev": "85555d27ded84604ad6657ecca255a03fd878607",
"rev": "ec7c109a4f794fce09aad87239eab7f66540b888",
"type": "github"
},
"original": {
@ -256,11 +256,11 @@
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1746807886,
"narHash": "sha256-gNS0r0JdkdsrqYkzpJK20vDRFSy7+1fuziRWd4BZiu4=",
"lastModified": 1747618089,
"narHash": "sha256-mbzwxQlxNamIMErEfwWRZ+ECmlQzxJ4eJvOM6/fxV5s=",
"owner": "nix-community",
"repo": "emacs-overlay",
"rev": "8ae925057bad39c6a72f55dd2ff0b281e2cea714",
"rev": "1b2bc802bbac29f4695e39fbf982944c0999b45d",
"type": "github"
},
"original": {
@ -278,11 +278,11 @@
"rust-analyzer-src": "rust-analyzer-src"
},
"locked": {
"lastModified": 1746599904,
"narHash": "sha256-bykoJKLSbNANMY5nedzVYa2Z3GF8poQsNTHAnc19alM=",
"lastModified": 1747392669,
"narHash": "sha256-zky3+lndxKRu98PAwVK8kXPdg+Q1NVAhaI7YGrboKYA=",
"owner": "nix-community",
"repo": "fenix",
"rev": "589e863010225278a042480fed5b6feacb364a65",
"rev": "c3c27e603b0d9b5aac8a16236586696338856fbb",
"type": "github"
},
"original": {
@ -358,11 +358,11 @@
"flake-compat_4": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"lastModified": 1747046372,
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
"type": "github"
},
"original": {
@ -374,11 +374,11 @@
"flake-compat_5": {
"flake": false,
"locked": {
"lastModified": 1733328505,
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
"lastModified": 1747046372,
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
"type": "github"
},
"original": {
@ -825,11 +825,11 @@
"zon2nix": "zon2nix"
},
"locked": {
"lastModified": 1746806042,
"narHash": "sha256-Hx92i3f5IjHaWpReyCKvGdqG55bZFU3wxGzA3wv9VLA=",
"lastModified": 1747426608,
"narHash": "sha256-ygRFvCVdVEAU95tH2EMMacYH/T42tC3mtDkt5lBJT9U=",
"owner": "ghostty-org",
"repo": "ghostty",
"rev": "7f9bb3c0e54f585e11259bc0c9064813d061929c",
"rev": "b1af4a597f359491f4b3197a845b39ec86db475a",
"type": "github"
},
"original": {
@ -840,19 +840,45 @@
},
"git-hooks": {
"inputs": {
"flake-compat": "flake-compat_6",
"flake-compat": [
"mailserver",
"flake-compat"
],
"gitignore": "gitignore_3",
"nixpkgs": [
"mailserver",
"nixpkgs"
]
},
"locked": {
"lastModified": 1742649964,
"narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"git-hooks_2": {
"inputs": {
"flake-compat": "flake-compat_6",
"gitignore": "gitignore_4",
"nixpkgs": [
"neovim-nightly-overlay",
"nixpkgs"
]
},
"locked": {
"lastModified": 1746537231,
"narHash": "sha256-Wb2xeSyOsCoTCTj7LOoD6cdKLEROyFAArnYoS+noCWo=",
"lastModified": 1747372754,
"narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "fa466640195d38ec97cf0493d6d6882bc4d14969",
"rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46",
"type": "github"
},
"original": {
@ -906,6 +932,28 @@
}
},
"gitignore_3": {
"inputs": {
"nixpkgs": [
"mailserver",
"git-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"gitignore_4": {
"inputs": {
"nixpkgs": [
"neovim-nightly-overlay",
@ -936,11 +984,11 @@
]
},
"locked": {
"lastModified": 1744693102,
"narHash": "sha256-1Z4WPGVky4w3lrhrgs89OKsLzPdtkbi1bPLNFWsoLfY=",
"lastModified": 1747284884,
"narHash": "sha256-lTSKhRrassMcJ1ZsuUVunyl/F04vvCKY80HB/4rvvm4=",
"owner": "hercules-ci",
"repo": "hercules-ci-effects",
"rev": "5b6cec51c9ec095a0d3fd4c8eeb53eb5c59ae33e",
"rev": "7168f6002a6b48a9b6151e1e97e974a0722ecfdc",
"type": "github"
},
"original": {
@ -978,11 +1026,11 @@
]
},
"locked": {
"lastModified": 1746661235,
"narHash": "sha256-TAm/SnOT8AD3YKYOdjtg5Nmf/hCKEwc0USHBIoXV8qo=",
"lastModified": 1747439237,
"narHash": "sha256-5rCGrnkglKKj4cav1U3HC+SIUNJh08pqOK4spQv9RjA=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "ec71b5162848e6369bdf2be8d2f1dd41cded88e8",
"rev": "ae755329092c87369b9e9a1510a8cf1ce2b1c708",
"type": "github"
},
"original": {
@ -998,11 +1046,11 @@
]
},
"locked": {
"lastModified": 1746798521,
"narHash": "sha256-axfz/jBEH9XHpS7YSumstV7b2PrPf7L8bhWUtLBv3nA=",
"lastModified": 1747565775,
"narHash": "sha256-B6jmKHUEX1jxxcdoYHl7RVaeohtAVup8o3nuVkzkloA=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "e95a7c5b6fa93304cd2fd78cf676c4f6d23c422c",
"rev": "97118a310eb8e13bc1b9b12d67267e55b7bee6c8",
"type": "github"
},
"original": {
@ -1102,11 +1150,11 @@
"systems": "systems_7"
},
"locked": {
"lastModified": 1746199673,
"narHash": "sha256-zKBPaOBAI2WWyFJKVwV1/xHCIHVa4DTBuXc7kQwmBfY=",
"lastModified": 1747052241,
"narHash": "sha256-X979gxgClu/MnL0vcBaKDkpFIWg2KhOZfAI8BFlNsEM=",
"owner": "hyprwm",
"repo": "hypridle",
"rev": "a0037ac40cdaf1350752eec38f354950ed3096c2",
"rev": "ecf2a3649dfb2e8a45aa63757ed571f1bfedb320",
"type": "github"
},
"original": {
@ -1133,11 +1181,11 @@
"xdph": "xdph"
},
"locked": {
"lastModified": 1746794848,
"narHash": "sha256-lrJeeV5W1DbPxtdQsWrEv5ptOU3U7+vSkvhz/4fqFMk=",
"lastModified": 1747610850,
"narHash": "sha256-eGOtDlq3h+r/X/j4oSNo6cmQlt67TVolgUJMnGKTRt4=",
"ref": "refs/heads/main",
"rev": "25cf06f6cfe1b23b97d9beae91247413a3683803",
"revCount": 6101,
"rev": "eb3b38d40baca5c05ddbc1507b3d3f02a0ccb164",
"revCount": 6127,
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland"
@ -1433,11 +1481,11 @@
]
},
"locked": {
"lastModified": 1746656950,
"narHash": "sha256-tnbPgz/TYBsxuidwFwVYgz/aZLVUy1EkIemTDDOh1XY=",
"lastModified": 1747466853,
"narHash": "sha256-/evYltwuF8Kz1odgocWnguh/8VQV1i76VB4yMTU9m7k=",
"owner": "Jovian-Experiments",
"repo": "Jovian-NixOS",
"rev": "87911a856356a11c7864c0a66c4c000f178e19b0",
"rev": "0ba1a34fa6d995fe433109f0ad66de8d5613d46e",
"type": "github"
},
"original": {
@ -1557,15 +1605,16 @@
"inputs": {
"blobs": "blobs",
"flake-compat": "flake-compat_4",
"git-hooks": "git-hooks",
"nixpkgs": "nixpkgs_9",
"nixpkgs-24_11": "nixpkgs-24_11"
},
"locked": {
"lastModified": 1746740198,
"narHash": "sha256-Sbcl1MkJBOMg9BBENRm++clDuk6SihqBNOkPcKt+EF4=",
"lastModified": 1747320434,
"narHash": "sha256-wOW99SCOovRlX5y8+W1cRrS3mEN1QA0XTHMRfr3NMB8=",
"owner": "simple-nixos-mailserver",
"repo": "nixos-mailserver",
"rev": "1feca020084017b47bcbf893b33e76585785a840",
"rev": "433520257af7170824ab6e567d49b8e305e776e9",
"type": "gitlab"
},
"original": {
@ -1578,18 +1627,18 @@
"inputs": {
"flake-compat": "flake-compat_5",
"flake-parts": "flake-parts_3",
"git-hooks": "git-hooks",
"git-hooks": "git-hooks_2",
"hercules-ci-effects": "hercules-ci-effects",
"neovim-src": "neovim-src",
"nixpkgs": "nixpkgs_10",
"treefmt-nix": "treefmt-nix_2"
},
"locked": {
"lastModified": 1746774188,
"narHash": "sha256-CRKb1MnBhcjs8Z1lJHKLHArhPRPZy19iN+814zoNvrg=",
"lastModified": 1747554936,
"narHash": "sha256-LBFEVTt3JISA/HDHznJanvlNvKllNfILr1nfI8KZmVM=",
"owner": "nix-community",
"repo": "neovim-nightly-overlay",
"rev": "07cf14912cb39e1ad4e2b15503a8281e298914a0",
"rev": "5a732bf3edb47767a25c3b05436e4c21f91edf91",
"type": "github"
},
"original": {
@ -1601,11 +1650,11 @@
"neovim-src": {
"flake": false,
"locked": {
"lastModified": 1746746481,
"narHash": "sha256-pqNKlU7CNpO3CpXRga4zF2UlGb7K0NuSndFm91AjFJA=",
"lastModified": 1747523215,
"narHash": "sha256-55RIMak4EwDaLdNTkM+4d3LjC90wlkNRaaG8DupK3AM=",
"owner": "neovim",
"repo": "neovim",
"rev": "3121e02ae04e489fb11b7058f7b7d0da0901dafa",
"rev": "5661f74ab2a6ef0c497ef2ea49bc58ea89b6ab6b",
"type": "github"
},
"original": {
@ -1624,17 +1673,16 @@
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
},
"locked": {
"lastModified": 1745965399,
"narHash": "sha256-RxoK/Eo9cWGtGMl3enYu/LH/SAcFGR2PWuAifQm4dUc=",
"lastModified": 1747600015,
"narHash": "sha256-ztNwDGru5Z/wu5I5SgkU03cx3Vz9gwLeFwcmlzeDwiA=",
"owner": "sodiboo",
"repo": "niri-flake",
"rev": "bc29338ba733e4c1b94c3ed134baabfea587627e",
"rev": "1db4f11c1d3e30e29ef87162a6137bccbcf8e18f",
"type": "github"
},
"original": {
"owner": "sodiboo",
"repo": "niri-flake",
"rev": "bc29338ba733e4c1b94c3ed134baabfea587627e",
"type": "github"
}
},
@ -1647,17 +1695,16 @@
"rust-overlay": "rust-overlay_3"
},
"locked": {
"lastModified": 1743835358,
"narHash": "sha256-HiDNB5meUAsz8gbQrS551M8axbbVx+nHfJdYZedzivQ=",
"lastModified": 1747486745,
"narHash": "sha256-ngQ+iTHmBJkEbsjYfCWTJdV8gHhOCTkV8K0at6Y+YHI=",
"owner": "YaLTeR",
"repo": "niri",
"rev": "c359d248257bdb68785597d2822f9c3a5ccbfdfe",
"rev": "ae89cb6017668f3a81ccd92461cbbc70ab8377d0",
"type": "github"
},
"original": {
"owner": "YaLTeR",
"repo": "niri",
"rev": "c359d248257bdb68785597d2822f9c3a5ccbfdfe",
"type": "github"
}
},
@ -1681,11 +1728,11 @@
"niri-unstable": {
"flake": false,
"locked": {
"lastModified": 1746124654,
"narHash": "sha256-LmhkAt2KLvf8lp+kEUQuTFmmv7iXO8IkwwSaPasfXJw=",
"lastModified": 1747486745,
"narHash": "sha256-ngQ+iTHmBJkEbsjYfCWTJdV8gHhOCTkV8K0at6Y+YHI=",
"owner": "YaLTeR",
"repo": "niri",
"rev": "6c9705dd4b2eaba25f024d1a3efd7943fd393632",
"rev": "ae89cb6017668f3a81ccd92461cbbc70ab8377d0",
"type": "github"
},
"original": {
@ -1786,11 +1833,11 @@
},
"nixos-stable": {
"locked": {
"lastModified": 1746557022,
"narHash": "sha256-QkNoyEf6TbaTW5UZYX0OkwIJ/ZMeKSSoOMnSDPQuol0=",
"lastModified": 1747485343,
"narHash": "sha256-YbsZyuRE1tobO9sv0PUwg81QryYo3L1F3R3rF9bcG38=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "1d3aeb5a193b9ff13f63f4d9cc169fb88129f860",
"rev": "9b5ac7ad45298d58640540d0323ca217f32a6762",
"type": "github"
},
"original": {
@ -1802,11 +1849,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1746663147,
"narHash": "sha256-Ua0drDHawlzNqJnclTJGf87dBmaO/tn7iZ+TCkTRpRc=",
"lastModified": 1747542820,
"narHash": "sha256-GaOZntlJ6gPPbbkTLjbd8BMWaDYafhuuYRNrxCGnPJw=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "dda3dcd3fe03e991015e9a74b22d35950f264a54",
"rev": "292fa7d4f6519c074f0a50394dbbe69859bb6043",
"type": "github"
},
"original": {
@ -1816,17 +1863,18 @@
},
"nixpkgs-24_11": {
"locked": {
"lastModified": 1734083684,
"narHash": "sha256-5fNndbndxSx5d+C/D0p/VF32xDiJCJzyOqorOYW4JEo=",
"lastModified": 1747209494,
"narHash": "sha256-fLise+ys+bpyjuUUkbwqo5W/UyIELvRz9lPBPoB0fbM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "314e12ba369ccdb9b352a4db26ff419f7c49fa84",
"rev": "5d736263df906c5da72ab0f372427814de2f52f8",
"type": "github"
},
"original": {
"id": "nixpkgs",
"owner": "NixOS",
"ref": "nixos-24.11",
"type": "indirect"
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-lib": {
@ -1897,11 +1945,11 @@
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1746557022,
"narHash": "sha256-QkNoyEf6TbaTW5UZYX0OkwIJ/ZMeKSSoOMnSDPQuol0=",
"lastModified": 1747485343,
"narHash": "sha256-YbsZyuRE1tobO9sv0PUwg81QryYo3L1F3R3rF9bcG38=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "1d3aeb5a193b9ff13f63f4d9cc169fb88129f860",
"rev": "9b5ac7ad45298d58640540d0323ca217f32a6762",
"type": "github"
},
"original": {
@ -1945,11 +1993,11 @@
},
"nixpkgs-stable_4": {
"locked": {
"lastModified": 1746055187,
"narHash": "sha256-3dqArYSMP9hM7Qpy5YWhnSjiqniSaT2uc5h2Po7tmg0=",
"lastModified": 1747485343,
"narHash": "sha256-YbsZyuRE1tobO9sv0PUwg81QryYo3L1F3R3rF9bcG38=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "3e362ce63e16b9572d8c2297c04f7c19ab6725a5",
"rev": "9b5ac7ad45298d58640540d0323ca217f32a6762",
"type": "github"
},
"original": {
@ -1977,11 +2025,11 @@
},
"nixpkgs_10": {
"locked": {
"lastModified": 1746576598,
"narHash": "sha256-FshoQvr6Aor5SnORVvh/ZdJ1Sa2U4ZrIMwKBX5k2wu0=",
"lastModified": 1747426788,
"narHash": "sha256-N4cp0asTsJCnRMFZ/k19V9akkxb7J/opG+K+jU57JGc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "b3582c75c7f21ce0b429898980eddbbf05c68e55",
"rev": "12a55407652e04dcf2309436eb06fef0d3713ef3",
"type": "github"
},
"original": {
@ -1993,11 +2041,11 @@
},
"nixpkgs_11": {
"locked": {
"lastModified": 1745930157,
"narHash": "sha256-y3h3NLnzRSiUkYpnfvnS669zWZLoqqI6NprtLQ+5dck=",
"lastModified": 1747542820,
"narHash": "sha256-GaOZntlJ6gPPbbkTLjbd8BMWaDYafhuuYRNrxCGnPJw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "46e634be05ce9dc6d4db8e664515ba10b78151ae",
"rev": "292fa7d4f6519c074f0a50394dbbe69859bb6043",
"type": "github"
},
"original": {
@ -2025,11 +2073,11 @@
},
"nixpkgs_13": {
"locked": {
"lastModified": 1746663147,
"narHash": "sha256-Ua0drDHawlzNqJnclTJGf87dBmaO/tn7iZ+TCkTRpRc=",
"lastModified": 1747542820,
"narHash": "sha256-GaOZntlJ6gPPbbkTLjbd8BMWaDYafhuuYRNrxCGnPJw=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "dda3dcd3fe03e991015e9a74b22d35950f264a54",
"rev": "292fa7d4f6519c074f0a50394dbbe69859bb6043",
"type": "github"
},
"original": {
@ -2231,11 +2279,11 @@
},
"nixpkgs_5": {
"locked": {
"lastModified": 1746663147,
"narHash": "sha256-Ua0drDHawlzNqJnclTJGf87dBmaO/tn7iZ+TCkTRpRc=",
"lastModified": 1747327360,
"narHash": "sha256-LSmTbiq/nqZR9B2t4MRnWG7cb0KVNU70dB7RT4+wYK4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "dda3dcd3fe03e991015e9a74b22d35950f264a54",
"rev": "e06158e58f3adee28b139e9c2bcfcc41f8625b46",
"type": "github"
},
"original": {
@ -2247,11 +2295,11 @@
},
"nixpkgs_6": {
"locked": {
"lastModified": 1746663147,
"narHash": "sha256-Ua0drDHawlzNqJnclTJGf87dBmaO/tn7iZ+TCkTRpRc=",
"lastModified": 1747542820,
"narHash": "sha256-GaOZntlJ6gPPbbkTLjbd8BMWaDYafhuuYRNrxCGnPJw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "dda3dcd3fe03e991015e9a74b22d35950f264a54",
"rev": "292fa7d4f6519c074f0a50394dbbe69859bb6043",
"type": "github"
},
"original": {
@ -2295,17 +2343,18 @@
},
"nixpkgs_9": {
"locked": {
"lastModified": 1732014248,
"narHash": "sha256-y/MEyuJ5oBWrWAic/14LaIr/u5E0wRVzyYsouYY3W6w=",
"lastModified": 1747179050,
"narHash": "sha256-qhFMmDkeJX9KJwr5H32f1r7Prs7XbQWtO0h3V0a0rFY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "23e89b7da85c3640bbc2173fe04f4bd114342367",
"rev": "adaa24fbf46737f3f1b5497bf64bae750f82942e",
"type": "github"
},
"original": {
"id": "nixpkgs",
"owner": "NixOS",
"ref": "nixos-unstable",
"type": "indirect"
"repo": "nixpkgs",
"type": "github"
}
},
"pnpm2nix": {
@ -2375,11 +2424,11 @@
]
},
"locked": {
"lastModified": 1746537231,
"narHash": "sha256-Wb2xeSyOsCoTCTj7LOoD6cdKLEROyFAArnYoS+noCWo=",
"lastModified": 1747372754,
"narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "fa466640195d38ec97cf0493d6d6882bc4d14969",
"rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46",
"type": "github"
},
"original": {
@ -2456,11 +2505,11 @@
"systems": "systems_15"
},
"locked": {
"lastModified": 1746766349,
"narHash": "sha256-5SygQcMjCerpeaO9gigM++mYWrY3Zt41A+C5GQqyWm0=",
"lastModified": 1747559815,
"narHash": "sha256-8hVMUrue1shGUEqnJ/yWzbgxjy0390XgbQONo0YfUbA=",
"owner": "raphamorim",
"repo": "rio",
"rev": "d202a5f829710144a179d37b988ba68411812afd",
"rev": "13434cbbb8f0fc74e71e6fbc66db35fe6698f2ac",
"type": "github"
},
"original": {
@ -2514,11 +2563,11 @@
"rust-analyzer-src": {
"flake": false,
"locked": {
"lastModified": 1746522319,
"narHash": "sha256-q+Qo00BFgXN6xKrsrQI1P7Z3K1s2zKT0GNl0h8DwBH4=",
"lastModified": 1747323949,
"narHash": "sha256-G4NwzhODScKnXqt2mEQtDFOnI0wU3L1WxsiHX3cID/0=",
"owner": "rust-lang",
"repo": "rust-analyzer",
"rev": "debaef80be92d957f52d6e89c86286556075ea47",
"rev": "f8e784353bde7cbf9a9046285c1caf41ac484ebe",
"type": "github"
},
"original": {
@ -2597,11 +2646,11 @@
"nixpkgs": "nixpkgs_17"
},
"locked": {
"lastModified": 1746239644,
"narHash": "sha256-wMvMBMlpS1H8CQdSSgpLeoCWS67ciEkN/GVCcwk7Apc=",
"lastModified": 1747449297,
"narHash": "sha256-veyXchTz6eWwvuW5X49UluHkheHkFcqHJSwGuKBhrmQ=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "bd32e88bef6da0e021a42fb4120a8df2150e9b8c",
"rev": "f44db7d7cea4528288780c6347756173a8248225",
"type": "github"
},
"original": {
@ -2617,11 +2666,11 @@
]
},
"locked": {
"lastModified": 1746758179,
"narHash": "sha256-JECUw1YBEsTsVauvupRzE5ykZaJoyhHCpoY87ZZJGas=",
"lastModified": 1747535902,
"narHash": "sha256-rKWBtLcqQeu8PpfKIBn1ORXS2udSH/MwnQFwfSpFOLg=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "4fd00513eac6b6140c5dced3e1b8133e2369a0f8",
"rev": "b7a99615d26b82c39b73ccc9026545c3f3403b71",
"type": "github"
},
"original": {
@ -2704,11 +2753,11 @@
"nixpkgs": "nixpkgs_18"
},
"locked": {
"lastModified": 1746485181,
"narHash": "sha256-PxrrSFLaC7YuItShxmYbMgSuFFuwxBB+qsl9BZUnRvg=",
"lastModified": 1747603214,
"narHash": "sha256-lAblXm0VwifYCJ/ILPXJwlz0qNY07DDYdLD+9H+Wc8o=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "e93ee1d900ad264d65e9701a5c6f895683433386",
"rev": "8d215e1c981be3aa37e47aeabd4e61bb069548fd",
"type": "github"
},
"original": {
@ -2725,11 +2774,11 @@
"systems": "systems_18"
},
"locked": {
"lastModified": 1746738008,
"narHash": "sha256-bIMysaVhNyjuFgt8QpnGZv0T4YMao26Vz5R/xfYAJO0=",
"lastModified": 1747607404,
"narHash": "sha256-xj2Ji+rE+oYjf0BsTDT7K/StnYuZQK9MTbX8U1DUcC0=",
"owner": "Gerg-L",
"repo": "spicetify-nix",
"rev": "a43fae27f33f8d3e793a6ca2946190cb24a00b03",
"rev": "8c1be0e5e9a7f35ccd6f7b10bcfa08f2734dad91",
"type": "github"
},
"original": {
@ -3095,11 +3144,11 @@
]
},
"locked": {
"lastModified": 1746216483,
"narHash": "sha256-4h3s1L/kKqt3gMDcVfN8/4v2jqHrgLIe4qok4ApH5x4=",
"lastModified": 1747469671,
"narHash": "sha256-bo1ptiFoNqm6m1B2iAhJmWCBmqveLVvxom6xKmtuzjg=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "29ec5026372e0dec56f890e50dbe4f45930320fd",
"rev": "ab0378b61b0d85e73a8ab05d5c6029b5bd58c9fb",
"type": "github"
},
"original": {
@ -3114,11 +3163,11 @@
},
"locked": {
"dir": "packaging/nix",
"lastModified": 1746127435,
"narHash": "sha256-ufyI5bnA0Ctg7amyirc3dKJGXqiV+1Fu9u0vHa+/tI4=",
"lastModified": 1747242981,
"narHash": "sha256-MFvG2fiPdmkNU88A7RzPjcHfexOiJxRwAX0SxeC0C5k=",
"owner": "Open-Wine-Components",
"repo": "umu-launcher",
"rev": "80bf9143f1a73a10bc60fc4ca6558a2f4461a335",
"rev": "eff12416f0e8135031a62579910608e442d83d22",
"type": "github"
},
"original": {
@ -3247,11 +3296,11 @@
"xwayland-satellite-unstable": {
"flake": false,
"locked": {
"lastModified": 1745730655,
"narHash": "sha256-Tdsw5lD/XM8i1GnQr7ombqnEaCpt/voPs2AbjuYBbjI=",
"lastModified": 1747111562,
"narHash": "sha256-GAqhWoxaBIk0tgoecZPa8gTHDHxNc0JtlwWHZN2iOOo=",
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"rev": "56a681bfecc5831f41f8eb0ec8c7e96c6b277153",
"rev": "ec9ff64c1e0cbec42710b580b7c0f759b1694e72",
"type": "github"
},
"original": {
@ -3266,11 +3315,11 @@
"nixpkgs": "nixpkgs_21"
},
"locked": {
"lastModified": 1746822069,
"narHash": "sha256-FX+TYr2qrTBPstpGF9EvcyIcF/7qQR0dt9Z+55ICZuk=",
"lastModified": 1747592715,
"narHash": "sha256-2rq/h8xHOuGi+Vhi4cfioN1HA06qFssiIN2ZgMTITnM=",
"owner": "0xc000022070",
"repo": "zen-browser-flake",
"rev": "98627b680b1434a2b491d50521112362678ac036",
"rev": "16e095bf03d26fd26d22f589b96e7b8853a05b70",
"type": "github"
},
"original": {

View file

@ -131,10 +131,10 @@
nix-gaming.url = "path:/home/zoey/dev/nix-gaming";
niri-src.url = "github:YaLTeR/niri/c359d248257bdb68785597d2822f9c3a5ccbfdfe";
niri-src.url = "github:YaLTeR/niri";
niri-src.inputs.nixpkgs.follows = "nixpkgs";
niri.url = "github:sodiboo/niri-flake/bc29338ba733e4c1b94c3ed134baabfea587627e";
niri.url = "github:sodiboo/niri-flake";
chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
};

View file

@ -41,6 +41,7 @@
};
};
shells.nu.enable = true;
shells.zsh.enable = true;
rice.gtk.enable = true;
@ -127,6 +128,7 @@
slack
monero-cli
devenv
zoom-us
pandoc
@ -136,8 +138,15 @@
prismlauncher
obs-studio
(discord.override {
withOpenASAR = true;
withVencord = true;
})
distrobox
legcord
ungoogled-chromium
uutils-coreutils-noprefix
yazi
@ -289,6 +298,7 @@
pinentryPackage = lib.mkForce pkgs.pinentry-gnome3;
enableSshSupport = true;
enableZshIntegration = true;
enableNushellIntegration = true;
};
};

View file

@ -1,14 +1,10 @@
/* Mullvad specific styles */
#custom-mullvad.connected {
color: @green;
border-bottom: 2px solid @green;
padding-bottom: 2px;
}
#custom-mullvad.disconnected {
color: @red;
border-bottom: 2px solid @red;
padding-bottom: 2px;
}
#custom-mullvad {

View file

@ -1,5 +1,6 @@
{
options,
pkgs,
config,
lib,
...
@ -24,6 +25,8 @@ in {
bold_font ${fonts.mono} Bold Italic
italic_font ${fonts.mono} Italic
bold_italic_font ${fonts.mono} Bold Italic
shell ${lib.getExe pkgs.nushell}
'';
catppuccin.enable = true;

View file

@ -65,6 +65,30 @@ return {
},
},
},
{
"christoomey/vim-tmux-navigator",
cmd = {
"TmuxNavigateLeft",
"TmuxNavigateDown",
"TmuxNavigateUp",
"TmuxNavigateRight",
"TmuxNavigatePrevious",
"TmuxNavigatorProcessList",
},
keys = {
{ "<c-h>", "<cmd><C-U>TmuxNavigateLeft<cr>" },
{ "<c-j>", "<cmd><C-U>TmuxNavigateDown<cr>" },
{ "<c-k>", "<cmd><C-U>TmuxNavigateUp<cr>" },
{ "<c-l>", "<cmd><C-U>TmuxNavigateRight<cr>" },
{ "<c-\\>", "<cmd><C-U>TmuxNavigatePrevious<cr>" },
},
},
{
"m4xshen/hardtime.nvim",
lazy = false,
dependencies = { "MunifTanjim/nui.nvim" },
opts = {},
},
{
"neovim/nvim-lspconfig",
---@class PluginLspOpts

View file

@ -16,6 +16,7 @@ in {
programs.starship = {
enable = true;
enableZshIntegration = config.programs.zsh.enable;
enableNushellIntegration = config.programs.nushell.enable;
settings = {
add_newline = false;
format = "$username$directory$git_branch$git_status$python$rust$nodejs$nix_shell$cmd_duration$line_break$character";

View file

@ -24,7 +24,7 @@ in {
programs.tmux = {
enable = true;
shell = "${pkgs.zsh}/bin/zsh";
shell = "${lib.getExe pkgs.nushell}";
historyLimit = 100000;
plugins = with pkgs; [
tmuxPlugins.sensible

View file

@ -1,49 +0,0 @@
{
pkgs,
lib,
config,
...
}:
with lib;
with pkgs; {
ytmp3 = ''
${getExe yt-dlp} -x --continue --add-metadata --embed-thumbnail --audio-format mp3 --audio-quality 0 --metadata-from-title="%(artist)s - %(title)s" --prefer-ffmpeg -o "%(title)s.%(ext)s"'';
cat = "${getExe bat} --style=plain";
vpn = "mullvad";
uuid = "cat /proc/sys/kernel/random/uuid";
grep = getExe ripgrep;
fzf = getExe skim;
untar = "tar -xvf";
untargz = "tar -xzf";
du = getExe du-dust;
ps = getExe procs;
lb = "pw-loopback -C \"alsa_input.pci-0000_0d_00.4.analog-stereo\" -P \"Scarlett Solo (3rd Gen.) Headphones / Line 1-2\"";
deploy = "nixos-rebuild switch --flake ~/nixos#pluto --target-host zoeys.computer --use-remote-sudo";
m = "mkdir -p";
fcd = "cd $(find -type d | fzf)";
l = "ls -lF --time-style=long-iso --icons";
sc = "sudo systemctl";
scu = "systemctl --user ";
la = "${getExe eza} -lah --tree";
ls = "${getExe eza} -h --git --icons --color=auto --group-directories-first -s extension";
tree = "${getExe eza} --tree --icons --tree";
kys = "shutdown now";
gpl = "curl https://www.gnu.org/licenses/gpl-3.0.txt -o LICENSE";
agpl = "curl https://www.gnu.org/licenses/agpl-3.0.txt -o LICENSE";
tsm = "transmission-remote";
g = "git";
n = "nix";
r = "rebuild";
vm = "nixos-rebuild build-vm --flake ~/nixos#earth";
mnt = "udisksctl mount -b";
umnt = "udisksctl unmount -b";
burn = "pkill -9";
diff = "diff --color=auto";
wu = "vpn disconnect -w && awsvpnclient start --config ~/Downloads/cvpn-endpoint-085400ccc19bb4a17.ovpn";
"v" = "nvim";
".." = "cd ..";
"..." = "cd ../../";
"...." = "cd ../../../";
"....." = "cd ../../../../";
"......" = "cd ../../../../../";
}

View file

@ -66,7 +66,7 @@ in {
'';
};
shellAliases = import ./aliases.nix {inherit pkgs lib config;};
shellAliases = import ../aliases.nix {inherit pkgs lib config;};
};
home.packages = with pkgs; [

View file

@ -17,16 +17,13 @@ with pkgs; {
untargz = "tar -xzf";
MANPAGER = "sh -c 'col -bx | bat -l man -p'";
du = getExe du-dust;
ps = getExe procs;
lb = "pw-loopback -C \"alsa_input.pci-0000_0d_00.4.analog-stereo\" -P \"Scarlett Solo (3rd Gen.) Headphones / Line 1-2\"";
deploy = "nixos-rebuild switch --flake ~/nixos#pluto --target-host zoeys.computer --use-remote-sudo";
m = "mkdir -p";
fcd = "cd $(find -type d | fzf)";
l = "ls -lF --time-style=long-iso --icons";
m = "mkdir";
l = "exa -lF --time-style=long-iso --icons";
sc = "sudo systemctl";
scu = "systemctl --user ";
la = "${getExe eza} -lah --tree";
ls = "${getExe eza} -h --git --icons --color=auto --group-directories-first -s extension";
tree = "${getExe eza} --tree --icons --tree";
kys = "shutdown now";
lv = "nvim -c \"normal '\''0\"";
@ -37,11 +34,8 @@ with pkgs; {
n = "nix";
r = "rebuild";
vm = "nixos-rebuild build-vm --flake ~/nixos#earth";
mnt = "udisksctl mount -b";
umnt = "udisksctl unmount -b";
burn = "pkill -9";
diff = "diff --color=auto";
wu = "vpn disconnect -w && awsvpnclient start --config ~/Downloads/cvpn-endpoint-085400ccc19bb4a17.ovpn";
"v" = "nvim";
".." = "cd ..";
"..." = "cd ../../";

View file

@ -17,47 +17,35 @@ in {
programs.nushell = {
enable = true;
# Nushell doesn't need generateCompletions like fish
extraConfig = ''
# Environment variables
let-env LC_ALL = "en_US.UTF-8"
let-env SSH_AUTH_SOCK = "/run/user/1000/keyring/ssh"
let-env FLAKE = "/home/zoey/nixos/"
$env.config.show_banner = false
# FZF settings
let-env FZF_PREVIEW_FILE_CMD = "head -n 10"
let-env FZF_PREVIEW_DIR_CMD = "ls"
def pf [] {
fzf --bind ctrl-y:preview-up,ctrl-e:preview-down \
--bind ctrl-b:preview-page-up,ctrl-f:preview-page-down \
--bind ctrl-u:preview-half-page-up,ctrl-d:preview-half-page-down \
--bind ctrl-k:up,ctrl-j:down \
--preview='bat --style=numbers --color=always --line-range :100 {}'
if ('TMUX' in $env == false) {
exec tmux
}
def ff [] {
let files = (pf)
for file in $files {
let cmd = $"v ($file)"
echo $cmd
nu -c $cmd
}
}
fastfetch --config minimal
'';
# Nushell handles plugins differently, you might want to use modules instead
# or configure external tools directly
extraEnv = ''
# Add any environment-specific configuration here
# Environment variables
$env.LC_ALL = "en_US.UTF-8"
$env.SSH_AUTH_SOCK = "/run/user/1000/keyring/ssh"
$env.FLAKE = "/home/zoey/nixos/"
# FZF settings
$env.FZF_PREVIEW_FILE_CMD = "head -n 10"
$env.FZF_PREVIEW_DIR_CMD = "ls"
'';
# Import aliases (you'll need to convert fish aliases to Nushell format)
shellAliases = import ./aliases.nix {inherit pkgs lib config;};
};
programs.carapace.enable = true;
programs.carapace.enableNushellIntegration = true;
home.packages = with pkgs; [
gnumake
comma

View file

@ -77,7 +77,7 @@ in {
media = "/run/media/$USER";
};
shellAliases = import ./aliases.nix {inherit pkgs lib config;};
shellAliases = import ../aliases.nix {inherit pkgs lib config;};
};
home.packages = with pkgs; [

View file

@ -70,9 +70,9 @@ in {
bind =
[
"${mod},RETURN,exec,${lib.getExe pkgs.alacritty}"
"${mod},RETURN,exec,${lib.getExe pkgs.kitty}"
"${mod},D,exec,rofi -show drun"
"${mod},D,exec,fuzzel"
"${mod},Q,killactive"
"${mod},M,exit"
"${mod},P,pseudo"
@ -129,8 +129,8 @@ in {
allow_tearing = true;
# active border color
"col.active_border" = "rgb(${colors.lavender.hex})";
"col.inactive_border" = "rgb(${colors.base.hex})";
"col.active_border" = "${colors.lavender.rgb}";
"col.inactive_border" = "${colors.base.rgb}";
};
input = {
@ -199,7 +199,7 @@ in {
};
# for 10 bit color: DP-3,2560x1440@240,0x0,1,bitdepth,10,cm,hdr,sdrbrightness,1.2,sdrsaturation,1.0
monitor = ["DP-3,2560x1440@240,0x0,1" "HDMI-A-1,disable" "DP-1,disable"];
monitor = ["DP-1,2560x1440@240,0x0,1" "HDMI-A-1,disable"];
layerrule = [
"blur, ^(gtk-layer-shell)$"
@ -257,14 +257,14 @@ in {
# };
# };
systemd.user.services = {
swaybg = mkService {
Unit.Description = "Wallpaper chooser";
Service = {
ExecStart = "${getExe pkgs.swaybg} -i ${wallpaper}";
Restart = "always";
};
};
};
# systemd.user.services = {
# swaybg = mkService {
# Unit.Description = "Wallpaper chooser";
# Service = {
# ExecStart = "${getExe pkgs.swaybg} -i ${wallpaper}";
# Restart = "always";
# };
# };
# };
};
}

View file

@ -17,6 +17,8 @@ with lib.custom; let
actions = config.lib.niri.actions;
niri = "${config.programs.niri.package}/bin/niri";
mkColor = color: {inherit color;};
mkGradient = from: to: {
angle ? 180,
@ -332,200 +334,171 @@ in {
};
# Keybindings
binds = {
"Mod+Shift+Slash" = {action = actions.show-hotkey-overlay;};
binds =
{
"Mod+Shift+Slash" = {action = actions.show-hotkey-overlay;};
"Mod+Return" = {action = actions.spawn "kitty";};
"Mod+D" = {action = actions.spawn "fuzzel";};
"Super+Alt+L" = {action = actions.spawn "swaylock";};
# "Mod+T" = { action = actions.spawn "bash" "-c" "notify-send hello && exec alacritty"; };
"Mod+Return" = {action = actions.spawn "kitty";};
"Mod+D" = {action = actions.spawn "fuzzel";};
"Super+Alt+L" = {action = actions.spawn "swaylock";};
# "Mod+T" = { action = actions.spawn "bash" "-c" "notify-send hello && exec alacritty"; };
# "Mod+S" = {action = actions.set-dynamic-cast-window;};
#
# "Mod+Shift+S" = {action = actions.set-dynamic-cast-monitor;};
#
# "Mod+Z" = {action = actions.clear-dynamic-cast-target;};
# "Mod+S" = {action = actions.set-dynamic-cast-window;};
#
# "Mod+Shift+S" = {action = actions.set-dynamic-cast-monitor;};
#
# "Mod+Z" = {action = actions.clear-dynamic-cast-target;};
"XF86AudioRaiseVolume" = {
allow-when-locked = true;
action = actions.spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+";
};
"XF86AudioLowerVolume" = {
allow-when-locked = true;
action = actions.spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-";
};
"XF86AudioMute" = {
allow-when-locked = true;
action = actions.spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle";
};
"XF86AudioMicMute" = {
allow-when-locked = true;
action =
actions.spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle";
};
"XF86AudioRaiseVolume" = {
allow-when-locked = true;
action = actions.spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+";
};
"XF86AudioLowerVolume" = {
allow-when-locked = true;
action = actions.spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-";
};
"XF86AudioMute" = {
allow-when-locked = true;
action = actions.spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle";
};
"XF86AudioMicMute" = {
allow-when-locked = true;
action =
actions.spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle";
};
"Mod+Q" = {action = actions.close-window;};
"Mod+Q" = {action = actions.close-window;};
"Mod+Left" = {action = actions.focus-column-left;};
"Mod+Down" = {action = actions.focus-window-down;};
"Mod+Up" = {action = actions.focus-window-up;};
"Mod+Right" = {action = actions.focus-column-right;};
"Mod+H" = {action = actions.focus-column-left;};
"Mod+J" = {action = actions.focus-window-down;};
"Mod+K" = {action = actions.focus-window-up;};
"Mod+L" = {action = actions.focus-column-right;};
"Mod+Left" = {action = actions.focus-column-left;};
"Mod+Down" = {action = actions.focus-window-down;};
"Mod+Up" = {action = actions.focus-window-up;};
"Mod+Right" = {action = actions.focus-column-right;};
"Mod+H" = {action = actions.focus-column-left;};
"Mod+J" = {action = actions.focus-window-down;};
"Mod+K" = {action = actions.focus-window-up;};
"Mod+L" = {action = actions.focus-column-right;};
"Mod+Ctrl+Left" = {action = actions.move-column-left;};
"Mod+Ctrl+Down" = {action = actions.move-window-down;};
"Mod+Ctrl+Up" = {action = actions.move-window-up;};
"Mod+Ctrl+Right" = {action = actions.move-column-right;};
"Mod+Ctrl+H" = {action = actions.move-column-left;};
"Mod+Ctrl+J" = {action = actions.move-window-down;};
"Mod+Ctrl+K" = {action = actions.move-window-up;};
"Mod+Ctrl+L" = {action = actions.move-column-right;};
"Mod+Ctrl+Left" = {action = actions.move-column-left;};
"Mod+Ctrl+Down" = {action = actions.move-window-down;};
"Mod+Ctrl+Up" = {action = actions.move-window-up;};
"Mod+Ctrl+Right" = {action = actions.move-column-right;};
"Mod+Ctrl+H" = {action = actions.move-column-left;};
"Mod+Ctrl+J" = {action = actions.move-window-down;};
"Mod+Ctrl+K" = {action = actions.move-window-up;};
"Mod+Ctrl+L" = {action = actions.move-column-right;};
# Alternative commands (commented out in KDL)
# "Mod+J" = { action = actions.focus-window-or-workspace-down; };
# "Mod+K" = { action = actions.focus-window-or-workspace-up; };
# "Mod+Ctrl+J" = { action = actions.move-window-down-or-to-workspace-down; };
# "Mod+Ctrl+K" = { action = actions.move-window-up-or-to-workspace-up; };
# Alternative commands (commented out in KDL)
# "Mod+J" = { action = actions.focus-window-or-workspace-down; };
# "Mod+K" = { action = actions.focus-window-or-workspace-up; };
# "Mod+Ctrl+J" = { action = actions.move-window-down-or-to-workspace-down; };
# "Mod+Ctrl+K" = { action = actions.move-window-up-or-to-workspace-up; };
"Mod+Home" = {action = actions.focus-column-first;};
"Mod+End" = {action = actions.focus-column-last;};
"Mod+Ctrl+Home" = {action = actions.move-column-to-first;};
"Mod+Ctrl+End" = {action = actions.move-column-to-last;};
"Mod+Home" = {action = actions.focus-column-first;};
"Mod+End" = {action = actions.focus-column-last;};
"Mod+Ctrl+Home" = {action = actions.move-column-to-first;};
"Mod+Ctrl+End" = {action = actions.move-column-to-last;};
"Mod+Shift+Left" = {action = actions.focus-monitor-left;};
"Mod+Shift+Down" = {action = actions.focus-monitor-down;};
"Mod+Shift+Up" = {action = actions.focus-monitor-up;};
"Mod+Shift+Right" = {action = actions.focus-monitor-right;};
"Mod+Shift+H" = {action = actions.focus-monitor-left;};
"Mod+Shift+J" = {action = actions.focus-workspace-down;};
"Mod+Shift+K" = {action = actions.focus-workspace-up;};
"Mod+Shift+L" = {action = actions.focus-monitor-right;};
"Mod+Shift+Left" = {action = actions.focus-monitor-left;};
"Mod+Shift+Down" = {action = actions.focus-monitor-down;};
"Mod+Shift+Up" = {action = actions.focus-monitor-up;};
"Mod+Shift+Right" = {action = actions.focus-monitor-right;};
"Mod+Shift+H" = {action = actions.focus-monitor-left;};
"Mod+Shift+J" = {action = actions.focus-workspace-down;};
"Mod+Shift+K" = {action = actions.focus-workspace-up;};
"Mod+Shift+L" = {action = actions.focus-monitor-right;};
"Mod+Ctrl+Shift+F" = {action = actions.toggle-windowed-fullscreen;};
"Mod+Ctrl+Shift+F" = {action = actions.toggle-windowed-fullscreen;};
"Mod+Shift+Ctrl+Left" = {action = actions.move-column-to-monitor-left;};
"Mod+Shift+Ctrl+Down" = {action = actions.move-column-to-monitor-down;};
"Mod+Shift+Ctrl+Up" = {action = actions.move-column-to-monitor-up;};
"Mod+Shift+Ctrl+Right" = {action = actions.move-column-to-monitor-right;};
"Mod+Shift+Ctrl+H" = {action = actions.move-column-to-monitor-left;};
"Mod+Shift+Ctrl+J" = {action = actions.move-column-to-monitor-down;};
"Mod+Shift+Ctrl+K" = {action = actions.move-column-to-monitor-up;};
"Mod+Shift+Ctrl+L" = {action = actions.move-column-to-monitor-right;};
"Mod+Shift+Ctrl+Left" = {action = actions.move-column-to-monitor-left;};
"Mod+Shift+Ctrl+Down" = {action = actions.move-column-to-monitor-down;};
"Mod+Shift+Ctrl+Up" = {action = actions.move-column-to-monitor-up;};
"Mod+Shift+Ctrl+Right" = {action = actions.move-column-to-monitor-right;};
"Mod+Shift+Ctrl+H" = {action = actions.move-column-to-monitor-left;};
"Mod+Shift+Ctrl+J" = {action = actions.move-column-to-monitor-down;};
"Mod+Shift+Ctrl+K" = {action = actions.move-column-to-monitor-up;};
"Mod+Shift+Ctrl+L" = {action = actions.move-column-to-monitor-right;};
# Alternative move commands (commented out in KDL)
# "Mod+Shift+Ctrl+Left" = { action = actions.move-window-to-monitor-left; };
# "Mod+Shift+Ctrl+Left" = { action = actions.move-workspace-to-monitor-left; };
"Mod+Page_Down" = {action = actions.focus-workspace-down;};
"Mod+Page_Up" = {action = actions.focus-workspace-up;};
"Mod+U" = {action = actions.focus-workspace-down;};
"Mod+I" = {action = actions.focus-workspace-up;};
"Mod+Ctrl+Page_Down" = {action = actions.move-column-to-workspace-down;};
"Mod+Ctrl+Page_Up" = {action = actions.move-column-to-workspace-up;};
"Mod+Ctrl+U" = {action = actions.move-column-to-workspace-down;};
"Mod+Ctrl+I" = {action = actions.move-column-to-workspace-up;};
"Mod+Page_Down" = {action = actions.focus-workspace-down;};
"Mod+Page_Up" = {action = actions.focus-workspace-up;};
"Mod+U" = {action = actions.focus-workspace-down;};
"Mod+I" = {action = actions.focus-workspace-up;};
"Mod+Ctrl+Page_Down" = {action = actions.move-column-to-workspace-down;};
"Mod+Ctrl+Page_Up" = {action = actions.move-column-to-workspace-up;};
"Mod+Ctrl+U" = {action = actions.move-column-to-workspace-down;};
"Mod+Ctrl+I" = {action = actions.move-column-to-workspace-up;};
"Mod+Shift+Page_Down" = {action = actions.move-workspace-down;};
"Mod+Shift+Page_Up" = {action = actions.move-workspace-up;};
"Mod+Shift+U" = {action = actions.move-workspace-down;};
"Mod+Shift+I" = {action = actions.move-workspace-up;};
# Alternative move commands (commented out in KDL)
# "Mod+Ctrl+Page_Down" = { action = actions.move-window-to-workspace-down; };
"Mod+WheelScrollDown" = {
cooldown-ms = 150;
action = actions.focus-workspace-down;
};
"Mod+WheelScrollUp" = {
cooldown-ms = 150;
action = actions.focus-workspace-up;
};
"Mod+Ctrl+WheelScrollDown" = {
cooldown-ms = 150;
action = actions.move-column-to-workspace-down;
};
"Mod+Ctrl+WheelScrollUp" = {
cooldown-ms = 150;
action = actions.move-column-to-workspace-up;
};
"Mod+Shift+Page_Down" = {action = actions.move-workspace-down;};
"Mod+Shift+Page_Up" = {action = actions.move-workspace-up;};
"Mod+Shift+U" = {action = actions.move-workspace-down;};
"Mod+Shift+I" = {action = actions.move-workspace-up;};
"Mod+WheelScrollRight" = {action = actions.focus-column-right;};
"Mod+WheelScrollLeft" = {action = actions.focus-column-left;};
"Mod+Ctrl+WheelScrollRight" = {action = actions.move-column-right;};
"Mod+Ctrl+WheelScrollLeft" = {action = actions.move-column-left;};
"Mod+WheelScrollDown" = {
cooldown-ms = 150;
action = actions.focus-workspace-down;
};
"Mod+WheelScrollUp" = {
cooldown-ms = 150;
action = actions.focus-workspace-up;
};
"Mod+Ctrl+WheelScrollDown" = {
cooldown-ms = 150;
action = actions.move-column-to-workspace-down;
};
"Mod+Ctrl+WheelScrollUp" = {
cooldown-ms = 150;
action = actions.move-column-to-workspace-up;
};
"Mod+Shift+WheelScrollDown" = {action = actions.focus-column-right;};
"Mod+Shift+WheelScrollUp" = {action = actions.focus-column-left;};
"Mod+Ctrl+Shift+WheelScrollDown" = {action = actions.move-column-right;};
"Mod+Ctrl+Shift+WheelScrollUp" = {action = actions.move-column-left;};
"Mod+WheelScrollRight" = {action = actions.focus-column-right;};
"Mod+WheelScrollLeft" = {action = actions.focus-column-left;};
"Mod+Ctrl+WheelScrollRight" = {action = actions.move-column-right;};
"Mod+Ctrl+WheelScrollLeft" = {action = actions.move-column-left;};
"Mod+Comma" = {action = actions.consume-window-into-column;};
"Mod+Period" = {action = actions.expel-window-from-column;};
"Mod+Shift+WheelScrollDown" = {action = actions.focus-column-right;};
"Mod+Shift+WheelScrollUp" = {action = actions.focus-column-left;};
"Mod+Ctrl+Shift+WheelScrollDown" = {action = actions.move-column-right;};
"Mod+Ctrl+Shift+WheelScrollUp" = {action = actions.move-column-left;};
"Mod+BracketLeft" = {action = actions.consume-or-expel-window-left;};
"Mod+BracketRight" = {action = actions.consume-or-expel-window-right;};
# Touchpad scroll binds (commented out in KDL)
# "Mod+TouchpadScrollDown" = { action = actions.spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.02+"; };
# "Mod+TouchpadScrollUp" = { action = actions.spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.02-"; };
"Mod+R" = {action = actions.switch-preset-column-width;};
"Mod+Shift+R" = {action = actions.switch-preset-window-height;};
"Mod+Ctrl+R" = {action = actions.reset-window-height;};
"Mod+F" = {action = actions.maximize-column;};
"Mod+Shift+F" = {action = actions.fullscreen-window;};
"Mod+C" = {action = actions.center-column;};
"Mod+Ctrl+F" = {action = actions.expand-column-to-available-width;};
"Mod+1" = {action = actions.focus-workspace 1;};
"Mod+2" = {action = actions.focus-workspace 2;};
"Mod+3" = {action = actions.focus-workspace 3;};
"Mod+4" = {action = actions.focus-workspace 4;};
"Mod+5" = {action = actions.focus-workspace 5;};
"Mod+6" = {action = actions.focus-workspace 6;};
"Mod+7" = {action = actions.focus-workspace 7;};
"Mod+8" = {action = actions.focus-workspace 8;};
"Mod+9" = {action = actions.focus-workspace 9;};
"Mod+Shift+1" = {action = actions.move-column-to-workspace 1;};
"Mod+Shift+2" = {action = actions.move-column-to-workspace 2;};
"Mod+Shift+3" = {action = actions.move-column-to-workspace 3;};
"Mod+Shift+4" = {action = actions.move-column-to-workspace 4;};
"Mod+Shift+5" = {action = actions.move-column-to-workspace 5;};
"Mod+Shift+6" = {action = actions.move-column-to-workspace 6;};
"Mod+Shift+7" = {action = actions.move-column-to-workspace 7;};
"Mod+Shift+8" = {action = actions.move-column-to-workspace 8;};
"Mod+Shift+9" = {action = actions.move-column-to-workspace 9;};
"Mod+V" = {action = actions.toggle-window-floating;};
# Alternative move commands (commented out in KDL)
# "Mod+Ctrl+1" = { action = actions.move-window-to-workspace 1; };
"Mod+Minus" = {action = actions.set-column-width "-10%";};
"Mod+Equal" = {action = actions.set-column-width "+10%";};
# "Mod+Tab" = { action = actions.focus-workspace-previous; }; # Commented out
"Mod+Shift+Minus" = {action = actions.set-window-height "-10%";};
"Mod+Shift+Equal" = {action = actions.set-window-height "+10%";};
"Mod+Comma" = {action = actions.consume-window-into-column;};
"Mod+Period" = {action = actions.expel-window-from-column;};
"Print" = {action = actions.screenshot {};}; # Empty attrset for default args
"Mod+Shift+E" = {action = actions.quit {};}; # Default: no skip-confirmation
"Ctrl+Alt+Delete" = {action = actions.quit {};};
"Mod+BracketLeft" = {action = actions.consume-or-expel-window-left;};
"Mod+BracketRight" = {action = actions.consume-or-expel-window-right;};
"Mod+R" = {action = actions.switch-preset-column-width;};
"Mod+Shift+R" = {action = actions.switch-preset-window-height;};
"Mod+Ctrl+R" = {action = actions.reset-window-height;};
"Mod+F" = {action = actions.maximize-column;};
"Mod+Shift+F" = {action = actions.fullscreen-window;};
"Mod+C" = {action = actions.center-column;};
"Mod+Ctrl+F" = {action = actions.expand-column-to-available-width;};
"Mod+V" = {action = actions.toggle-window-floating;};
"Mod+Minus" = {action = actions.set-column-width "-10%";};
"Mod+Equal" = {action = actions.set-column-width "+10%";};
"Mod+Shift+Minus" = {action = actions.set-window-height "-10%";};
"Mod+Shift+Equal" = {action = actions.set-window-height "+10%";};
# Layout switching (commented out in KDL)
# "Mod+Space" = { action = actions.switch-layout "next"; };
# "Mod+Shift+Space" = { action = actions.switch-layout "prev"; };
"Print" = {action = actions.screenshot {};}; # Empty attrset for default args
# "Ctrl+Print" = {action = actions.screenshot-screen {};}; # Empty attrset for default args
# "Alt+Print" = {action = actions.screenshot-window {};}; # Empty attrset for default args
"Mod+Shift+E" = {action = actions.quit {};}; # Default: no skip-confirmation
"Ctrl+Alt+Delete" = {action = actions.quit {};};
"Mod+Shift+P" = {action = actions.power-off-monitors;};
};
"Mod+Shift+P" = {action = actions.power-off-monitors;};
}
// lib.attrsets.listToAttrs (builtins.concatMap (i:
with actions; [
{
name = "Mod+${toString i}";
value.action = focus-workspace i;
}
# FIXME: use this action directly untril sodiboo/niri-flake#1018 is fixed.
{
name = "Mod+Shift+${toString i}";
value.action = spawn [niri "msg" "action" "move-column-to-workspace" (toString i)];
}
]) (lib.range 1 9));
};
};

View file

@ -173,6 +173,10 @@ in {
in [env];
};
systemd.services.libvirtd-config = {
enable = lib.mkForce false;
};
system.activationScripts.libvirt-hooks.text = ''
ln -Tfs /etc/libvirt/hooks /var/lib/libvirt/hooks
'';

View file

@ -44,42 +44,43 @@ in {
nvidiaSettings = false;
# Optionally, you may need to select the appropriate driver version for your specific GPU.
package = config.boot.kernelPackages.nvidiaPackages.beta.overrideAttrs {
patchesOpen = with pkgs; [
(fetchpatch {
url = "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/6.14/misc/nvidia/0001-Enable-atomic-kernel-modesetting-by-default.patch";
hash = "sha256-tvdm8nxxXslPUun33zj1kkYZOiWKK3F4nwcCkdzPW9s=";
})
(fetchpatch {
url = "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/6.14/misc/nvidia/0002-Add-IBT-support.patch";
hash = "sha256-JUT8FwBhyRhOWxwET7Zw/xkIl8g6UCLMXSTofr0OuSg=";
})
(fetchpatch {
url = "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/6.14/misc/nvidia/0003-Kbuild-Convert-EXTRA_CFLAGS-to-ccflags-y.patch";
hash = "sha256-W+yyiK6TpEs9IACMr/0V7EIP++u7MPOfa9ko3w8Gqtc=";
})
(fetchpatch {
url = "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/6.14/misc/nvidia/0004-kernel-open-nvidia-Use-new-timer-functions-for-6.15.patch";
hash = "sha256-T3SY2O6Pmc8BA0oana5xGGDhBxCizwmRqMyPvgF3j8A=";
})
(fetchpatch {
url = "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/6.14/misc/nvidia/0005-nvidia-uvm-Use-__iowrite64_hi_lo.patch";
hash = "sha256-T8BNr1H1vgEQoKB0S5cqcbq6fSQxiDK9bb/MCvMtzTI";
})
(fetchpatch {
url = "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/6.14/misc/nvidia/0006-nvidia-uvm-Use-page_pgmap.patch";
hash = "sha256-YucFZ2Z7YSgUiah82uLOmd4Z/c5YLOXxzEZNO6ZvQQg=";
})
(fetchpatch {
url = "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/6.14/misc/nvidia/0007-nvidia-uvm-Convert-make_device_exclusive_range-to-ma.patch";
hash = "sha256-AehV7D+yYBmE8FWsUiagnjB8V7S8RJSTNcVMwZIgw/I=";
})
(fetchpatch {
url = "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/6.14/misc/nvidia/0008-kbuild-Add-workaround-for-GCC-15-Compilation.patch";
hash = "sha256-HrYBiAFy62Jll+ceVnGuJKGKDoaRObjAGIYa+yrAogA=";
})
];
};
package = config.boot.kernelPackages.nvidiaPackages.stable;
# package = config.boot.kernelPackages.nvidiaPackages.beta.overrideAttrs {
# patchesOpen = with pkgs; [
# (fetchpatch {
# url = "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/6.14/misc/nvidia/0001-Enable-atomic-kernel-modesetting-by-default.patch";
# hash = "sha256-tvdm8nxxXslPUun33zj1kkYZOiWKK3F4nwcCkdzPW9s=";
# })
# (fetchpatch {
# url = "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/6.14/misc/nvidia/0002-Add-IBT-support.patch";
# hash = "sha256-JUT8FwBhyRhOWxwET7Zw/xkIl8g6UCLMXSTofr0OuSg=";
# })
# (fetchpatch {
# url = "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/6.14/misc/nvidia/0003-Kbuild-Convert-EXTRA_CFLAGS-to-ccflags-y.patch";
# hash = "sha256-W+yyiK6TpEs9IACMr/0V7EIP++u7MPOfa9ko3w8Gqtc=";
# })
# (fetchpatch {
# url = "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/6.14/misc/nvidia/0004-kernel-open-nvidia-Use-new-timer-functions-for-6.15.patch";
# hash = "sha256-T3SY2O6Pmc8BA0oana5xGGDhBxCizwmRqMyPvgF3j8A=";
# })
# (fetchpatch {
# url = "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/6.14/misc/nvidia/0005-nvidia-uvm-Use-__iowrite64_hi_lo.patch";
# hash = "sha256-T8BNr1H1vgEQoKB0S5cqcbq6fSQxiDK9bb/MCvMtzTI";
# })
# (fetchpatch {
# url = "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/6.14/misc/nvidia/0006-nvidia-uvm-Use-page_pgmap.patch";
# hash = "sha256-YucFZ2Z7YSgUiah82uLOmd4Z/c5YLOXxzEZNO6ZvQQg=";
# })
# (fetchpatch {
# url = "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/6.14/misc/nvidia/0007-nvidia-uvm-Convert-make_device_exclusive_range-to-ma.patch";
# hash = "sha256-AehV7D+yYBmE8FWsUiagnjB8V7S8RJSTNcVMwZIgw/I=";
# })
# (fetchpatch {
# url = "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/6.14/misc/nvidia/0008-kbuild-Add-workaround-for-GCC-15-Compilation.patch";
# hash = "sha256-HrYBiAFy62Jll+ceVnGuJKGKDoaRObjAGIYa+yrAogA=";
# })
# ];
# };
};
environment.variables = {

View file

@ -15,12 +15,8 @@ in {
};
config = mkIf cfg.enable {
environment.etc."greetd/environments".text = ''
sway
'';
services.greetd = {
enable = true;
enable = false;
settings = {
default_session = {
command = "niri-session";
@ -29,6 +25,12 @@ in {
};
};
services.xserver.displayManager.gdm.enable = true;
services.xserver.displayManager.gdm.wayland = true;
# services.displayManager.sddm.enable = true;
# services.displayManager.sddm.package = lib.mkForce pkgs.kdePackages.sddm;
programs.uwsm = {
waylandCompositors = {
# "mwc" = {
@ -49,8 +51,8 @@ in {
# ];
programs.hyprland = {
withUWSM = true;
enable = true;
withUWSM = false;
enable = false;
xwayland.enable = true;
package = inputs.hyprland.packages.${pkgs.system}.hyprland;
portalPackage = inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland;
@ -80,7 +82,6 @@ in {
SDL_VIDEODRIVER = "wayland,x11";
XDG_CACHE_HOME = "/home/zoey/.cache";
CLUTTER_BACKEND = "wayland";
DEFAULT_BROWSER = "${pkgs.firefox}/bin/firefox";
# # CachyOS-inspired Nvidia optimizations for gaming
# __GL_THREADED_OPTIMIZATIONS = "1";

View file

@ -0,0 +1,23 @@
{
lib,
config,
pkgs,
...
}:
with lib;
with lib.custom; let
cfg = config.services.gdm-monitors;
montiorsXmlContent = builtins.readFile ./monitors.xml;
monitorsConfig = pkgs.writeText "gdm_monitors.xml" montiorsXmlContent;
in {
options.services.gdm-monitors = with types; {
enable = mkBoolOpt false "Enable Monitors config for GDM";
};
config = mkIf cfg.enable {
systemd.tmpfiles.rules = [
"L+ /run/gdm/.config/monitors.xml - - - - ${monitorsConfig}"
];
};
}

View file

@ -0,0 +1,24 @@
<monitors version="2">
<configuration>
<layoutmode>physical</layoutmode>
<logicalmonitor>
<x>0</x>
<y>0</y>
<scale>1</scale>
<primary>yes</primary>
<monitor>
<monitorspec>
<connector>DP-1</connector>
<vendor>AUS</vendor>
<product>PG27AQDM</product>
<serial>R5LMRS022182</serial>
</monitorspec>
<mode>
<width>2560</width>
<height>1440</height>
<rate>239.972</rate>
</mode>
</monitor>
</logicalmonitor>
</configuration>
</monitors>

View file

@ -50,19 +50,16 @@
};
};
services.gdm-monitors.enable = true;
specialisation = {
hyprland = {
configuration = {
services.greetd.settings.default_session.command = lib.mkForce "Hyprland";
};
};
plasma6 = {
configuration = {
services.desktopManager.plasma6.enable = true;
services.displayManager.sddm.enable = true;
services.xserver.displayManager.gdm.enable = lib.mkForce false;
programs.seahorse.enable = lib.mkForce false;
services.greetd.enable = lib.mkForce false;
};
};
};
@ -166,6 +163,7 @@
"threadirqs"
"tsc=reliable"
"clocksource=tsc"
"preempt=voluntary"
"futex.futex2_interface=1" # Better Wine/Proton compatibility
"NVreg_UsePageAttributeTable=1" # Improved GPU memory management
"io_uring.sqpoll=2" # Modern I/O scheduler polling

View file

@ -10,6 +10,17 @@
./disk-config.nix
];
nix.optimise = {
automatic = true;
dates = ["03:45"];
};
nix.gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 14d";
};
boot.loader.grub = {
efiSupport = true;
efiInstallAsRemovable = true;