diff --git a/disko.nix b/disko.nix index 1c5f700..afe435e 100644 --- a/disko.nix +++ b/disko.nix @@ -87,4 +87,3 @@ }; }; } - diff --git a/flake.lock b/flake.lock index f2be5f4..1d04e06 100644 --- a/flake.lock +++ b/flake.lock @@ -1,405 +1,19 @@ { "nodes": { - "ags": { - "inputs": { - "nixpkgs": "nixpkgs", - "systems": "systems" - }, - "locked": { - "lastModified": 1721306136, - "narHash": "sha256-VKPsIGf3/a+RONBipx4lEE4LXG2sdMNkWQu22LNQItg=", - "owner": "Aylur", - "repo": "ags", - "rev": "344ea72cd3b8d4911f362fec34bce7d8fb37028c", - "type": "github" - }, - "original": { - "owner": "Aylur", - "repo": "ags", - "type": "github" - } - }, - "base16": { - "inputs": { - "fromYaml": "fromYaml" - }, - "locked": { - "lastModified": 1708890466, - "narHash": "sha256-LlrC09LoPi8OPYOGPXegD72v+//VapgAqhbOFS3i8sc=", - "owner": "SenchoPens", - "repo": "base16.nix", - "rev": "665b3c6748534eb766c777298721cece9453fdae", - "type": "github" - }, - "original": { - "owner": "SenchoPens", - "repo": "base16.nix", - "type": "github" - } - }, - "base16-fish": { + "crane": { "flake": false, "locked": { - "lastModified": 1622559957, - "narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=", - "owner": "tomyun", - "repo": "base16-fish", - "rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe", + "lastModified": 1699217310, + "narHash": "sha256-xpW3VFUG7yE6UE6Wl0dhqencuENSkV7qpnpe9I8VbPw=", + "owner": "ipetkov", + "repo": "crane", + "rev": "d535642bbe6f377077f7c23f0febb78b1463f449", "type": "github" }, "original": { - "owner": "tomyun", - "repo": "base16-fish", - "type": "github" - } - }, - "base16-foot": { - "flake": false, - "locked": { - "lastModified": 1696725948, - "narHash": "sha256-65bz2bUL/yzZ1c8/GQASnoiGwaF8DczlxJtzik1c0AU=", - "owner": "tinted-theming", - "repo": "base16-foot", - "rev": "eedbcfa30de0a4baa03e99f5e3ceb5535c2755ce", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "base16-foot", - "type": "github" - } - }, - "base16-helix": { - "flake": false, - "locked": { - "lastModified": 1720809814, - "narHash": "sha256-numb3xigRGnr/deF7wdjBwVg7fpbTH7reFDkJ75AJkY=", - "owner": "tinted-theming", - "repo": "base16-helix", - "rev": "34f41987bec14c0f3f6b2155c19787b1f6489625", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "base16-helix", - "type": "github" - } - }, - "base16-kitty": { - "flake": false, - "locked": { - "lastModified": 1665001328, - "narHash": "sha256-aRaizTYPpuWEcvoYE9U+YRX+Wsc8+iG0guQJbvxEdJY=", - "owner": "kdrag0n", - "repo": "base16-kitty", - "rev": "06bb401fa9a0ffb84365905ffbb959ae5bf40805", - "type": "github" - }, - "original": { - "owner": "kdrag0n", - "repo": "base16-kitty", - "type": "github" - } - }, - "base16-tmux": { - "flake": false, - "locked": { - "lastModified": 1696725902, - "narHash": "sha256-wDPg5elZPcQpu7Df0lI5O8Jv4A3T6jUQIVg63KDU+3Q=", - "owner": "tinted-theming", - "repo": "base16-tmux", - "rev": "c02050bebb60dbb20cb433cd4d8ce668ecc11ba7", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "base16-tmux", - "type": "github" - } - }, - "base16-vim": { - "flake": false, - "locked": { - "lastModified": 1716150083, - "narHash": "sha256-ZMhnNmw34ogE5rJZrjRv5MtG3WaqKd60ds2VXvT6hEc=", - "owner": "tinted-theming", - "repo": "base16-vim", - "rev": "6e955d704d046b0dc3e5c2d68a2a6eeffd2b5d3d", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "base16-vim", - "type": "github" - } - }, - "cachix": { - "inputs": { - "devenv": [ - "niri", - "crate2nix" - ], - "flake-compat": [ - "niri", - "crate2nix" - ], - "nixpkgs": "nixpkgs_2", - "pre-commit-hooks": [ - "niri", - "crate2nix" - ] - }, - "locked": { - "lastModified": 1709700175, - "narHash": "sha256-A0/6ZjLmT9qdYzKHmevnEIC7G+GiZ4UCr8v0poRPzds=", - "owner": "cachix", - "repo": "cachix", - "rev": "be97b37989f11b724197b5f4c7ffd78f12c8c4bf", - "type": "github" - }, - "original": { - "owner": "cachix", - "ref": "latest", - "repo": "cachix", - "type": "github" - } - }, - "cachix_2": { - "inputs": { - "devenv": [ - "niri", - "crate2nix", - "crate2nix_stable" - ], - "flake-compat": [ - "niri", - "crate2nix", - "crate2nix_stable" - ], - "nixpkgs": "nixpkgs_3", - "pre-commit-hooks": [ - "niri", - "crate2nix", - "crate2nix_stable" - ] - }, - "locked": { - "lastModified": 1716549461, - "narHash": "sha256-lHy5kgx6J8uD+16SO47dPrbob98sh+W1tf4ceSqPVK4=", - "owner": "cachix", - "repo": "cachix", - "rev": "e2bb269fb8c0828d5d4d2d7b8d09ea85abcacbd4", - "type": "github" - }, - "original": { - "owner": "cachix", - "ref": "latest", - "repo": "cachix", - "type": "github" - } - }, - "cachix_3": { - "inputs": { - "devenv": [ - "niri", - "crate2nix", - "crate2nix_stable", - "crate2nix_stable" - ], - "flake-compat": [ - "niri", - "crate2nix", - "crate2nix_stable", - "crate2nix_stable" - ], - "nixpkgs": "nixpkgs_4", - "pre-commit-hooks": [ - "niri", - "crate2nix", - "crate2nix_stable", - "crate2nix_stable" - ] - }, - "locked": { - "lastModified": 1716549461, - "narHash": "sha256-lHy5kgx6J8uD+16SO47dPrbob98sh+W1tf4ceSqPVK4=", - "owner": "cachix", - "repo": "cachix", - "rev": "e2bb269fb8c0828d5d4d2d7b8d09ea85abcacbd4", - "type": "github" - }, - "original": { - "owner": "cachix", - "ref": "latest", - "repo": "cachix", - "type": "github" - } - }, - "crate2nix": { - "inputs": { - "cachix": "cachix", - "crate2nix_stable": "crate2nix_stable", - "devshell": "devshell_3", - "flake-compat": "flake-compat_3", - "flake-parts": "flake-parts_3", - "nix-test-runner": "nix-test-runner_3", - "nixpkgs": "nixpkgs_7", - "pre-commit-hooks": "pre-commit-hooks_3" - }, - "locked": { - "lastModified": 1723311214, - "narHash": "sha256-xdGZQBEa1AC2us/sY3igS/CucWY6jErXsAvCFRhB2LI=", - "owner": "nix-community", - "repo": "crate2nix", - "rev": "236f6addfd452a48be805819e3216af79e988fd5", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "crate2nix", - "type": "github" - } - }, - "crate2nix_stable": { - "inputs": { - "cachix": "cachix_2", - "crate2nix_stable": "crate2nix_stable_2", - "devshell": "devshell_2", - "flake-compat": "flake-compat_2", - "flake-parts": "flake-parts_2", - "nix-test-runner": "nix-test-runner_2", - "nixpkgs": "nixpkgs_6", - "pre-commit-hooks": "pre-commit-hooks_2" - }, - "locked": { - "lastModified": 1719760004, - "narHash": "sha256-esWhRnt7FhiYq0CcIxw9pvH+ybOQmWBfHYMtleaMhBE=", - "owner": "nix-community", - "repo": "crate2nix", - "rev": "1dee214bb20855fa3e1e7bb98d28922ddaff8c57", - "type": "github" - }, - "original": { - "owner": "nix-community", - "ref": "0.14.1", - "repo": "crate2nix", - "type": "github" - } - }, - "crate2nix_stable_2": { - "inputs": { - "cachix": "cachix_3", - "crate2nix_stable": "crate2nix_stable_3", - "devshell": "devshell", - "flake-compat": "flake-compat", - "flake-parts": "flake-parts", - "nix-test-runner": "nix-test-runner", - "nixpkgs": "nixpkgs_5", - "pre-commit-hooks": "pre-commit-hooks" - }, - "locked": { - "lastModified": 1712821484, - "narHash": "sha256-rGT3CW64cJS9nlnWPFWSc1iEa3dNZecVVuPVGzcsHe8=", - "owner": "nix-community", - "repo": "crate2nix", - "rev": "42883afcad3823fa5811e967fb7bff54bc3c9d6d", - "type": "github" - }, - "original": { - "owner": "nix-community", - "ref": "0.14.0", - "repo": "crate2nix", - "type": "github" - } - }, - "crate2nix_stable_3": { - "inputs": { - "flake-utils": "flake-utils_2" - }, - "locked": { - "lastModified": 1702842982, - "narHash": "sha256-A9AowkHIjsy1a4LuiPiVP88FMxyCWK41flZEZOUuwQM=", - "owner": "nix-community", - "repo": "crate2nix", - "rev": "75ac2973affa6b9b4f661a7b592cba6e4f51d426", - "type": "github" - }, - "original": { - "owner": "nix-community", - "ref": "0.12.0", - "repo": "crate2nix", - "type": "github" - } - }, - "devshell": { - "inputs": { - "flake-utils": "flake-utils_3", - "nixpkgs": [ - "niri", - "crate2nix", - "crate2nix_stable", - "crate2nix_stable", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1717408969, - "narHash": "sha256-Q0OEFqe35fZbbRPPRdrjTUUChKVhhWXz3T9ZSKmaoVY=", - "owner": "numtide", - "repo": "devshell", - "rev": "1ebbe68d57457c8cae98145410b164b5477761f4", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "devshell", - "type": "github" - } - }, - "devshell_2": { - "inputs": { - "flake-utils": "flake-utils_4", - "nixpkgs": [ - "niri", - "crate2nix", - "crate2nix_stable", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1717408969, - "narHash": "sha256-Q0OEFqe35fZbbRPPRdrjTUUChKVhhWXz3T9ZSKmaoVY=", - "owner": "numtide", - "repo": "devshell", - "rev": "1ebbe68d57457c8cae98145410b164b5477761f4", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "devshell", - "type": "github" - } - }, - "devshell_3": { - "inputs": { - "flake-utils": "flake-utils_5", - "nixpkgs": [ - "niri", - "crate2nix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1711099426, - "narHash": "sha256-HzpgM/wc3aqpnHJJ2oDqPBkNsqWbW0WfWUO8lKu8nGk=", - "owner": "numtide", - "repo": "devshell", - "rev": "2d45b54ca4a183f2fdcf4b19c895b64fbf620ee8", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "devshell", + "owner": "ipetkov", + "ref": "v0.15.0", + "repo": "crane", "type": "github" } }, @@ -410,11 +24,11 @@ ] }, "locked": { - "lastModified": 1724163524, - "narHash": "sha256-3A06DYw47oSLYMalkWDLzTMHC0MKgm1mNfaca9sqUnI=", + "lastModified": 1726153585, + "narHash": "sha256-ShZ3YeEutJk+QoY/VrpujzZgocmyXYqhOC8I8pudO9U=", "owner": "nix-community", "repo": "disko", - "rev": "c7b14da22e302e0f9d7aa4df26b61016bcedf738", + "rev": "59fb64b36b0a1961f6d4c6d5b8db45cc35d040f2", "type": "github" }, "original": { @@ -423,80 +37,56 @@ "type": "github" } }, + "dream2nix": { + "inputs": { + "nixpkgs": [ + "nix-inspect", + "nci", + "nixpkgs" + ], + "purescript-overlay": "purescript-overlay", + "pyproject-nix": "pyproject-nix" + }, + "locked": { + "lastModified": 1709959559, + "narHash": "sha256-Gb+tUU+clGKVBwiznTQf0emZZ+heALqoVwUgI0O13L8=", + "owner": "nix-community", + "repo": "dream2nix", + "rev": "42838c590971da17a4b6483962707b7fb7b8b9a7", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "dream2nix", + "type": "github" + } + }, "flake-compat": { - "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "revCount": 57, - "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz" - }, - "original": { - "type": "tarball", - "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" - } - }, - "flake-compat_2": { - "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "revCount": 57, - "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz" - }, - "original": { - "type": "tarball", - "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" - } - }, - "flake-compat_3": { - "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "revCount": 57, - "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz" - }, - "original": { - "type": "tarball", - "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" - } - }, - "flake-compat_4": { "flake": false, "locked": { - "lastModified": 1673956053, - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", - "owner": "edolstra", + "lastModified": 1717312683, + "narHash": "sha256-FrlieJH50AuvagamEvWMIE6D2OAnERuDboFDYAED/dE=", + "owner": "nix-community", "repo": "flake-compat", - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "rev": "38fd3954cf65ce6faf3d0d45cd26059e059f07ea", "type": "github" }, "original": { - "owner": "edolstra", + "owner": "nix-community", "repo": "flake-compat", "type": "github" } }, "flake-parts": { "inputs": { - "nixpkgs-lib": [ - "niri", - "crate2nix", - "crate2nix_stable", - "crate2nix_stable", - "nixpkgs" - ] + "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1719745305, - "narHash": "sha256-xwgjVUpqSviudEkpQnioeez1Uo2wzrsMaJKJClh+Bls=", + "lastModified": 1725234343, + "narHash": "sha256-+ebgonl3NbiKD2UD0x4BszCZQ6sTfL4xioaM49o5B3Y=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "c3c5ecc05edc7dafba779c6c1a61cd08ac6583e9", + "rev": "567b938d64d4b4112ee253b9274472dc3a346eb6", "type": "github" }, "original": { @@ -508,76 +98,17 @@ "flake-parts_2": { "inputs": { "nixpkgs-lib": [ - "niri", - "crate2nix", - "crate2nix_stable", + "nixos-cosmic", + "nix-update", "nixpkgs" ] }, "locked": { - "lastModified": 1719745305, - "narHash": "sha256-xwgjVUpqSviudEkpQnioeez1Uo2wzrsMaJKJClh+Bls=", + "lastModified": 1719994518, + "narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "c3c5ecc05edc7dafba779c6c1a61cd08ac6583e9", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_3": { - "inputs": { - "nixpkgs-lib": [ - "niri", - "crate2nix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1712014858, - "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_4": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib" - }, - "locked": { - "lastModified": 1722555600, - "narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "8471fe90ad337a8074e957b69ca4d0089218391d", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_5": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib_2" - }, - "locked": { - "lastModified": 1722555600, - "narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "8471fe90ad337a8074e957b69ca4d0089218391d", + "rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7", "type": "github" }, "original": { @@ -588,97 +119,25 @@ }, "flake-utils": { "inputs": { - "systems": "systems_2" + "flake-utils": "flake-utils_2" }, "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "lastModified": 1722363685, + "narHash": "sha256-XCf2PIAT6lH7BwytgioPmVf/wkzXjSKScC4KzcZgb64=", + "owner": "gytis-ivaskevicius", + "repo": "flake-utils-plus", + "rev": "6b10f51ff73a66bb29f3bc8151a59d217713f496", "type": "github" }, "original": { - "owner": "numtide", - "repo": "flake-utils", + "owner": "gytis-ivaskevicius", + "repo": "flake-utils-plus", "type": "github" } }, "flake-utils_2": { "inputs": { - "systems": "systems_3" - }, - "locked": { - "lastModified": 1694529238, - "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_3": { - "inputs": { - "systems": "systems_4" - }, - "locked": { - "lastModified": 1701680307, - "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_4": { - "inputs": { - "systems": "systems_5" - }, - "locked": { - "lastModified": 1701680307, - "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_5": { - "inputs": { - "systems": "systems_6" - }, - "locked": { - "lastModified": 1701680307, - "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_6": { - "inputs": { - "systems": "systems_7" + "systems": "systems" }, "locked": { "lastModified": 1710146030, @@ -694,132 +153,6 @@ "type": "github" } }, - "flake-utils_7": { - "inputs": { - "systems": [ - "stylix", - "systems" - ] - }, - "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "fromYaml": { - "flake": false, - "locked": { - "lastModified": 1689549921, - "narHash": "sha256-iX0pk/uB019TdBGlaJEWvBCfydT6sRq+eDcGPifVsCM=", - "owner": "SenchoPens", - "repo": "fromYaml", - "rev": "11fbbbfb32e3289d3c631e0134a23854e7865c84", - "type": "github" - }, - "original": { - "owner": "SenchoPens", - "repo": "fromYaml", - "type": "github" - } - }, - "gitignore": { - "inputs": { - "nixpkgs": [ - "niri", - "crate2nix", - "crate2nix_stable", - "crate2nix_stable", - "pre-commit-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_2": { - "inputs": { - "nixpkgs": [ - "niri", - "crate2nix", - "crate2nix_stable", - "pre-commit-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_3": { - "inputs": { - "nixpkgs": [ - "niri", - "crate2nix", - "pre-commit-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" - } - }, - "gnome-shell": { - "flake": false, - "locked": { - "lastModified": 1713702291, - "narHash": "sha256-zYP1ehjtcV8fo+c+JFfkAqktZ384Y+y779fzmR9lQAU=", - "owner": "GNOME", - "repo": "gnome-shell", - "rev": "0d0aadf013f78a7f7f1dc984d0d812971864b934", - "type": "github" - }, - "original": { - "owner": "GNOME", - "ref": "46.1", - "repo": "gnome-shell", - "type": "github" - } - }, "home-manager": { "inputs": { "nixpkgs": [ @@ -827,11 +160,11 @@ ] }, "locked": { - "lastModified": 1723986931, - "narHash": "sha256-Fy+KEvDQ+Hc8lJAV3t6leXhZJ2ncU5/esxkgt3b8DEY=", + "lastModified": 1726142087, + "narHash": "sha256-uT4TRd3PgreUD5sJaNioVfMemdyWFLoPHqN4AFszGmw=", "owner": "nix-community", "repo": "home-manager", - "rev": "2598861031b78aadb4da7269df7ca9ddfc3e1671", + "rev": "da8406a6ff556b86dc368e96ca8bd81b2704a91a", "type": "github" }, "original": { @@ -840,24 +173,46 @@ "type": "github" } }, - "home-manager_2": { - "inputs": { - "nixpkgs": [ - "stylix", - "nixpkgs" - ] - }, + "mk-naked-shell": { + "flake": false, "locked": { - "lastModified": 1715930644, - "narHash": "sha256-W9pyM3/vePxrffHtzlJI6lDS3seANQ+Nqp+i58O46LI=", - "owner": "nix-community", - "repo": "home-manager", - "rev": "e3ad5108f54177e6520535768ddbf1e6af54b59d", + "lastModified": 1681286841, + "narHash": "sha256-3XlJrwlR0nBiREnuogoa5i1b4+w/XPe0z8bbrJASw0g=", + "owner": "yusdacra", + "repo": "mk-naked-shell", + "rev": "7612f828dd6f22b7fb332cc69440e839d7ffe6bd", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "home-manager", + "owner": "yusdacra", + "repo": "mk-naked-shell", + "type": "github" + } + }, + "nci": { + "inputs": { + "crane": "crane", + "dream2nix": "dream2nix", + "mk-naked-shell": "mk-naked-shell", + "nixpkgs": [ + "nix-inspect", + "nixpkgs" + ], + "parts": "parts", + "rust-overlay": "rust-overlay", + "treefmt": "treefmt" + }, + "locked": { + "lastModified": 1710137478, + "narHash": "sha256-+hbUWY1PEItyx3CBOGsHlJEDO2wRY2N1mpBhiLBblck=", + "owner": "yusdacra", + "repo": "nix-cargo-integration", + "rev": "f3cc8751427e16ec48c0467357b3f3979a53ae9c", + "type": "github" + }, + "original": { + "owner": "yusdacra", + "repo": "nix-cargo-integration", "type": "github" } }, @@ -868,11 +223,11 @@ ] }, "locked": { - "lastModified": 1723994268, - "narHash": "sha256-3nHuGGBTqUxy1g7sm+1zTNLxbz9fnMr1ZX9etCWlFG8=", + "lastModified": 1725746760, + "narHash": "sha256-p38Uini6lChBCF0mZndHXTAy7ZH/OQLY696BFCHg92g=", "owner": "viperML", "repo": "nh", - "rev": "dd8bdc83cfd7d3a8c7167589a03577c21ea015d2", + "rev": "7650b372e55a36d7765ee0a5e59b142731bc8b3d", "type": "github" }, "original": { @@ -881,77 +236,20 @@ "type": "github" } }, - "niri": { - "inputs": { - "crate2nix": "crate2nix", - "flake-parts": "flake-parts_4", - "niri-stable": "niri-stable", - "niri-unstable": "niri-unstable", - "nixpkgs": "nixpkgs_8", - "nixpkgs-stable": "nixpkgs-stable", - "xwayland-satellite": "xwayland-satellite" - }, - "locked": { - "lastModified": 1724335117, - "narHash": "sha256-rJZQ0IwNfwNG6sRMAfFJeDxkhpnrshRZlRU5mkCUU8o=", - "owner": "sodiboo", - "repo": "niri-flake", - "rev": "7a043ddb1353966d797c0220336ba2107e9fa010", - "type": "github" - }, - "original": { - "owner": "sodiboo", - "repo": "niri-flake", - "type": "github" - } - }, - "niri-stable": { - "flake": false, - "locked": { - "lastModified": 1723290956, - "narHash": "sha256-13xynDWoOqogUKZTf6lz267hEQGdCE+BE6acs2G3j8k=", - "owner": "YaLTeR", - "repo": "niri", - "rev": "9063a5dbdc0d4470dc1e13ce5749838e32af6a44", - "type": "github" - }, - "original": { - "owner": "YaLTeR", - "ref": "v0.1.8", - "repo": "niri", - "type": "github" - } - }, - "niri-unstable": { - "flake": false, - "locked": { - "lastModified": 1724329151, - "narHash": "sha256-qAHRCKNgDcG3LyTtmHBKrZhwtkMMzy/z7aboC/FDRPo=", - "owner": "YaLTeR", - "repo": "niri", - "rev": "7bfdf87bf0138d602888fc3167921bc1d029b0ab", - "type": "github" - }, - "original": { - "owner": "YaLTeR", - "repo": "niri", - "type": "github" - } - }, "nix-gaming": { "inputs": { - "flake-parts": "flake-parts_5", + "flake-parts": "flake-parts", "nixpkgs": [ "nixpkgs" ], "umu": "umu" }, "locked": { - "lastModified": 1724203387, - "narHash": "sha256-nm54uFppQFRYM+2v1BLpmlxB6Jv5n0zzwjU+aZShZlE=", + "lastModified": 1726104489, + "narHash": "sha256-nn2Rp6Op78xWF8OJa0utad8yvrxf93K7BcOEwPtafg8=", "owner": "fufexan", "repo": "nix-gaming", - "rev": "ad4e195c8fd545944273f633fd6ec9b993e088ed", + "rev": "3a97598cb9ca7eed51bc361b025ed26cc52852e0", "type": "github" }, "original": { @@ -960,65 +258,84 @@ "type": "github" } }, - "nix-test-runner": { - "flake": false, + "nix-inspect": { + "inputs": { + "nci": "nci", + "nixpkgs": "nixpkgs", + "parts": "parts_2" + }, "locked": { - "lastModified": 1588761593, - "narHash": "sha256-FKJykltAN/g3eIceJl4SfDnnyuH2jHImhMrXS2KvGIs=", - "owner": "stoeffel", - "repo": "nix-test-runner", - "rev": "c45d45b11ecef3eb9d834c3b6304c05c49b06ca2", + "lastModified": 1717293583, + "narHash": "sha256-Upz+fnWJjzt5WokjO/iaiPbqiwSrqpWjrpcFOqQ4p0E=", + "owner": "bluskript", + "repo": "nix-inspect", + "rev": "c55921e1d1cf980ff6351273fde6cedd5d8fa320", "type": "github" }, "original": { - "owner": "stoeffel", - "repo": "nix-test-runner", + "owner": "bluskript", + "repo": "nix-inspect", "type": "github" } }, - "nix-test-runner_2": { - "flake": false, + "nix-update": { + "inputs": { + "flake-parts": "flake-parts_2", + "nixpkgs": [ + "nixos-cosmic", + "nixpkgs" + ], + "treefmt-nix": "treefmt-nix" + }, "locked": { - "lastModified": 1588761593, - "narHash": "sha256-FKJykltAN/g3eIceJl4SfDnnyuH2jHImhMrXS2KvGIs=", - "owner": "stoeffel", - "repo": "nix-test-runner", - "rev": "c45d45b11ecef3eb9d834c3b6304c05c49b06ca2", + "lastModified": 1726334963, + "narHash": "sha256-L8ICz9iELkvQl/ufdSWy9lRm8DLNpKDFxoeHQfPu4E8=", + "owner": "Mic92", + "repo": "nix-update", + "rev": "84d7535d076c5e06fba272738448c80698eb3d40", "type": "github" }, "original": { - "owner": "stoeffel", - "repo": "nix-test-runner", + "owner": "Mic92", + "repo": "nix-update", "type": "github" } }, - "nix-test-runner_3": { - "flake": false, + "nixos-cosmic": { + "inputs": { + "flake-compat": "flake-compat", + "nix-update": "nix-update", + "nixpkgs": [ + "nixpkgs" + ], + "nixpkgs-stable": "nixpkgs-stable", + "rust-overlay": "rust-overlay_2" + }, "locked": { - "lastModified": 1588761593, - "narHash": "sha256-FKJykltAN/g3eIceJl4SfDnnyuH2jHImhMrXS2KvGIs=", - "owner": "stoeffel", - "repo": "nix-test-runner", - "rev": "c45d45b11ecef3eb9d834c3b6304c05c49b06ca2", + "lastModified": 1726352478, + "narHash": "sha256-NtCYjLQ19ZDg3WFbOG/giKqIh057NUO5FUjfZOZwd4w=", + "owner": "lilyinstarlight", + "repo": "nixos-cosmic", + "rev": "c31de529857b3e0501c7999e47f0ef9d8e9b7bf8", "type": "github" }, "original": { - "owner": "stoeffel", - "repo": "nix-test-runner", + "owner": "lilyinstarlight", + "repo": "nixos-cosmic", "type": "github" } }, "nixpkgs": { "locked": { - "lastModified": 1718714799, - "narHash": "sha256-FUZpz9rg3gL8NVPKbqU8ei1VkPLsTIfAJ2fdAf5qjak=", - "owner": "NixOS", + "lastModified": 1709961763, + "narHash": "sha256-6H95HGJHhEZtyYA3rIQpvamMKAGoa8Yh2rFV29QnuGw=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "c00d587b1a1afbf200b1d8f0b0e4ba9deb1c7f0e", + "rev": "3030f185ba6a4bf4f18b87f345f104e6a6961f34", "type": "github" }, "original": { - "owner": "NixOS", + "owner": "nixos", "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" @@ -1026,35 +343,23 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1722555339, - "narHash": "sha256-uFf2QeW7eAHlYXuDktm9c25OxOyCoUOQmh5SZ9amE5Q=", + "lastModified": 1725233747, + "narHash": "sha256-Ss8QWLXdr2JCBPcYChJhz4xJm+h/xjl4G0c0XlP6a74=", "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz" + "url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz" }, "original": { "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz" - } - }, - "nixpkgs-lib_2": { - "locked": { - "lastModified": 1722555339, - "narHash": "sha256-uFf2QeW7eAHlYXuDktm9c25OxOyCoUOQmh5SZ9amE5Q=", - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz" - }, - "original": { - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz" + "url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz" } }, "nixpkgs-stable": { "locked": { - "lastModified": 1724242322, - "narHash": "sha256-HMpK7hNjhEk4z5SFg5UtxEio9OWFocHdaQzCfW1pE7w=", + "lastModified": 1725930920, + "narHash": "sha256-RVhD9hnlTT2nJzPHlAqrWqCkA7T6CYrP41IoVRkciZM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "224042e9a3039291f22f4f2ded12af95a616cca0", + "rev": "44a71ff39c182edaf25a7ace5c9454e7cba2c658", "type": "github" }, "original": { @@ -1066,11 +371,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1723991338, - "narHash": "sha256-Grh5PF0+gootJfOJFenTTxDTYPidA3V28dqJ/WV7iis=", + "lastModified": 1725983898, + "narHash": "sha256-4b3A9zPpxAxLnkF9MawJNHDtOOl6ruL0r6Og1TEDGCE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8a3354191c0d7144db9756a74755672387b702ba", + "rev": "1355a0cbfeac61d785b7183c0caaec1f97361b43", "type": "github" }, "original": { @@ -1080,133 +385,13 @@ "type": "github" } }, - "nixpkgs_10": { - "locked": { - "lastModified": 1714912032, - "narHash": "sha256-clkcOIkg8G4xuJh+1onLG4HPMpbtzdLv4rHxFzgsH9c=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "ee4a6e0f566fe5ec79968c57a9c2c3c25f2cf41d", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs_2": { "locked": { - "lastModified": 1700612854, - "narHash": "sha256-yrQ8osMD+vDLGFX7pcwsY/Qr5PUd6OmDMYJZzZi0+zc=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "19cbff58383a4ae384dea4d1d0c823d72b49d614", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_3": { - "locked": { - "lastModified": 1715534503, - "narHash": "sha256-5ZSVkFadZbFP1THataCaSf0JH2cAH3S29hU9rrxTEqk=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "2057814051972fa1453ddfb0d98badbea9b83c06", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_4": { - "locked": { - "lastModified": 1715534503, - "narHash": "sha256-5ZSVkFadZbFP1THataCaSf0JH2cAH3S29hU9rrxTEqk=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "2057814051972fa1453ddfb0d98badbea9b83c06", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_5": { - "locked": { - "lastModified": 1719506693, - "narHash": "sha256-C8e9S7RzshSdHB7L+v9I51af1gDM5unhJ2xO1ywxNH8=", - "path": "/nix/store/4p0avw1s3vf27hspgqsrqs37gxk4i83i-source", - "rev": "b2852eb9365c6de48ffb0dc2c9562591f652242a", - "type": "path" - }, - "original": { - "id": "nixpkgs", - "type": "indirect" - } - }, - "nixpkgs_6": { - "locked": { - "lastModified": 1719506693, - "narHash": "sha256-C8e9S7RzshSdHB7L+v9I51af1gDM5unhJ2xO1ywxNH8=", - "path": "/nix/store/4p0avw1s3vf27hspgqsrqs37gxk4i83i-source", - "rev": "b2852eb9365c6de48ffb0dc2c9562591f652242a", - "type": "path" - }, - "original": { - "id": "nixpkgs", - "type": "indirect" - } - }, - "nixpkgs_7": { - "locked": { - "lastModified": 1712026416, - "narHash": "sha256-N/3VR/9e1NlN49p7kCiATiEY6Tzdo+CbrAG8kqCQKcI=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "080a4a27f206d07724b88da096e27ef63401a504", - "type": "github" - }, - "original": { - "id": "nixpkgs", - "type": "indirect" - } - }, - "nixpkgs_8": { - "locked": { - "lastModified": 1724224976, - "narHash": "sha256-Z/ELQhrSd7bMzTO8r7NZgi9g5emh+aRKoCdaAv5fiO0=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "c374d94f1536013ca8e92341b540eba4c22f9c62", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_9": { - "locked": { - "lastModified": 1724098845, - "narHash": "sha256-D5HwjQw/02fuXbR4LCTo64koglP2j99hkDR79/3yLOE=", + "lastModified": 1725930920, + "narHash": "sha256-RVhD9hnlTT2nJzPHlAqrWqCkA7T6CYrP41IoVRkciZM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f1bad50880bae73ff2d82fafc22010b4fc097a9c", + "rev": "44a71ff39c182edaf25a7ace5c9454e7cba2c658", "type": "github" }, "original": { @@ -1216,175 +401,165 @@ "type": "github" } }, - "pre-commit-hooks": { + "parts": { "inputs": { - "flake-compat": [ - "niri", - "crate2nix", - "crate2nix_stable", - "crate2nix_stable", - "flake-compat" - ], - "gitignore": "gitignore", - "nixpkgs": [ - "niri", - "crate2nix", - "crate2nix_stable", - "crate2nix_stable", - "nixpkgs" - ], - "nixpkgs-stable": [ - "niri", - "crate2nix", - "crate2nix_stable", - "crate2nix_stable", + "nixpkgs-lib": [ + "nix-inspect", + "nci", "nixpkgs" ] }, "locked": { - "lastModified": 1719259945, - "narHash": "sha256-F1h+XIsGKT9TkGO3omxDLEb/9jOOsI6NnzsXFsZhry4=", - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "rev": "0ff4381bbb8f7a52ca4a851660fc7a437a4c6e07", + "lastModified": 1709336216, + "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2", "type": "github" }, "original": { - "owner": "cachix", - "repo": "pre-commit-hooks.nix", + "owner": "hercules-ci", + "repo": "flake-parts", "type": "github" } }, - "pre-commit-hooks_2": { + "parts_2": { "inputs": { - "flake-compat": [ - "niri", - "crate2nix", - "crate2nix_stable", - "flake-compat" - ], - "gitignore": "gitignore_2", - "nixpkgs": [ - "niri", - "crate2nix", - "crate2nix_stable", - "nixpkgs" - ], - "nixpkgs-stable": [ - "niri", - "crate2nix", - "crate2nix_stable", + "nixpkgs-lib": [ + "nix-inspect", "nixpkgs" ] }, "locked": { - "lastModified": 1719259945, - "narHash": "sha256-F1h+XIsGKT9TkGO3omxDLEb/9jOOsI6NnzsXFsZhry4=", - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "rev": "0ff4381bbb8f7a52ca4a851660fc7a437a4c6e07", + "lastModified": 1709336216, + "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2", "type": "github" }, "original": { - "owner": "cachix", - "repo": "pre-commit-hooks.nix", + "owner": "hercules-ci", + "repo": "flake-parts", "type": "github" } }, - "pre-commit-hooks_3": { + "purescript-overlay": { "inputs": { - "flake-compat": [ - "niri", - "crate2nix", - "flake-compat" - ], - "flake-utils": "flake-utils_6", - "gitignore": "gitignore_3", "nixpkgs": [ - "niri", - "crate2nix", + "nix-inspect", + "nci", + "dream2nix", "nixpkgs" ], - "nixpkgs-stable": [ - "niri", - "crate2nix", - "nixpkgs" - ] + "slimlock": "slimlock" }, "locked": { - "lastModified": 1712055707, - "narHash": "sha256-4XLvuSIDZJGS17xEwSrNuJLL7UjDYKGJSbK1WWX2AK8=", - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "rev": "e35aed5fda3cc79f88ed7f1795021e559582093a", + "lastModified": 1696022621, + "narHash": "sha256-eMjFmsj2G1E0Q5XiibUNgFjTiSz0GxIeSSzzVdoN730=", + "owner": "thomashoneyman", + "repo": "purescript-overlay", + "rev": "047c7933abd6da8aa239904422e22d190ce55ead", "type": "github" }, "original": { - "owner": "cachix", - "repo": "pre-commit-hooks.nix", + "owner": "thomashoneyman", + "repo": "purescript-overlay", + "type": "github" + } + }, + "pyproject-nix": { + "flake": false, + "locked": { + "lastModified": 1702448246, + "narHash": "sha256-hFg5s/hoJFv7tDpiGvEvXP0UfFvFEDgTdyHIjDVHu1I=", + "owner": "davhau", + "repo": "pyproject.nix", + "rev": "5a06a2697b228c04dd2f35659b4b659ca74f7aeb", + "type": "github" + }, + "original": { + "owner": "davhau", + "ref": "dream2nix", + "repo": "pyproject.nix", "type": "github" } }, "root": { "inputs": { - "ags": "ags", "disko": "disko", "flake-utils": "flake-utils", "home-manager": "home-manager", "nh": "nh", - "niri": "niri", "nix-gaming": "nix-gaming", - "nixpkgs": "nixpkgs_9", - "nixpkgs-unstable": "nixpkgs-unstable", - "stylix": "stylix" + "nix-inspect": "nix-inspect", + "nixos-cosmic": "nixos-cosmic", + "nixpkgs": "nixpkgs_2", + "nixpkgs-unstable": "nixpkgs-unstable" } }, - "stylix": { - "inputs": { - "base16": "base16", - "base16-fish": "base16-fish", - "base16-foot": "base16-foot", - "base16-helix": "base16-helix", - "base16-kitty": "base16-kitty", - "base16-tmux": "base16-tmux", - "base16-vim": "base16-vim", - "flake-compat": "flake-compat_4", - "flake-utils": "flake-utils_7", - "gnome-shell": "gnome-shell", - "home-manager": "home-manager_2", - "nixpkgs": "nixpkgs_10", - "systems": "systems_8" - }, + "rust-overlay": { + "flake": false, "locked": { - "lastModified": 1724444244, - "narHash": "sha256-fH1lyJvJjUhZ8xMlmiI18EZNzodDSe74rFuwlZDL0aQ=", - "owner": "danth", - "repo": "stylix", - "rev": "d042af478ce87e188139480922a3085218194106", + "lastModified": 1710123130, + "narHash": "sha256-EoGL/WSM1M2L099Q91mPKO/FRV2iu2ZLOEp3y5sLfiE=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "73aca260afe5d41d3ebce932c8d896399c9d5174", "type": "github" }, "original": { - "owner": "danth", - "repo": "stylix", + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "rust-overlay_2": { + "inputs": { + "nixpkgs": [ + "nixos-cosmic", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1726194362, + "narHash": "sha256-cM7zFscFqdsA5KohUUYndzIp20kUqjj39qnj6Voj+f8=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "a71b1240e29f1ec68612ed5306c328086bed91f9", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "slimlock": { + "inputs": { + "nixpkgs": [ + "nix-inspect", + "nci", + "dream2nix", + "purescript-overlay", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1688610262, + "narHash": "sha256-Wg0ViDotFWGWqKIQzyYCgayeH8s4U1OZcTiWTQYdAp4=", + "owner": "thomashoneyman", + "repo": "slimlock", + "rev": "b5c6cdcaf636ebbebd0a1f32520929394493f1a6", + "type": "github" + }, + "original": { + "owner": "thomashoneyman", + "repo": "slimlock", "type": "github" } }, "systems": { - "locked": { - "lastModified": 1689347949, - "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", - "owner": "nix-systems", - "repo": "default-linux", - "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default-linux", - "type": "github" - } - }, - "systems_2": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -1399,93 +574,47 @@ "type": "github" } }, - "systems_3": { + "treefmt": { + "inputs": { + "nixpkgs": [ + "nix-inspect", + "nci", + "nixpkgs" + ] + }, "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "lastModified": 1710088047, + "narHash": "sha256-eSqKs6ZCsX9xJyNYLeMDMrxzIDsYtaWClfZCOp0ok6Y=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "720322c5352d7b7bd2cb3601a9176b0e91d1de7d", "type": "github" }, "original": { - "owner": "nix-systems", - "repo": "default", + "owner": "numtide", + "repo": "treefmt-nix", "type": "github" } }, - "systems_4": { + "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "nixos-cosmic", + "nix-update", + "nixpkgs" + ] + }, "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "lastModified": 1719887753, + "narHash": "sha256-p0B2r98UtZzRDM5miGRafL4h7TwGRC4DII+XXHDHqek=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "bdb6355009562d8f9313d9460c0d3860f525bc6c", "type": "github" }, "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_5": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_6": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_7": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_8": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", + "owner": "numtide", + "repo": "treefmt-nix", "type": "github" } }, @@ -1498,11 +627,11 @@ }, "locked": { "dir": "packaging/nix", - "lastModified": 1723697867, - "narHash": "sha256-LTfbJXR8x35oZ8Mo3R0WTVEp9toWpVfzD21xCSr64IM=", + "lastModified": 1725408497, + "narHash": "sha256-wyJPWwHzHpFwc9XP9nM/Lpbvahusp2NcUtWXlErGi1g=", "ref": "refs/heads/main", - "rev": "c71a45ad53036f4c668bcbe1be7a49f9d3460151", - "revCount": 699, + "rev": "2d3c948a51bc1d2880a90bf985947f9afc89e8d1", + "revCount": 713, "submodules": true, "type": "git", "url": "https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging/nix" @@ -1513,22 +642,6 @@ "type": "git", "url": "https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging/nix" } - }, - "xwayland-satellite": { - "flake": false, - "locked": { - "lastModified": 1723095288, - "narHash": "sha256-cUlTHg/F0tUpjS/uAIYKwrIRaKwuzdyFo3IiST6E7Fc=", - "owner": "Supreeeme", - "repo": "xwayland-satellite", - "rev": "95afa163a60167cd97bf6afa870bc117a1be3d03", - "type": "github" - }, - "original": { - "owner": "Supreeeme", - "repo": "xwayland-satellite", - "type": "github" - } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 0cb17cb..9f6c1da 100644 --- a/flake.nix +++ b/flake.nix @@ -4,7 +4,7 @@ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; - flake-utils.url = "github:numtide/flake-utils"; + flake-utils.url = "github:gytis-ivaskevicius/flake-utils-plus"; home-manager = { url = "github:nix-community/home-manager"; @@ -21,57 +21,72 @@ inputs.nixpkgs.follows = "nixpkgs"; }; + nix-inspect.url = "github:bluskript/nix-inspect"; + nix-gaming = { url = "github:fufexan/nix-gaming"; inputs.nixpkgs.follows = "nixpkgs"; }; - niri = { - url = "github:sodiboo/niri-flake"; + nixos-cosmic = { + url = "github:lilyinstarlight/nixos-cosmic"; + inputs.nixpkgs.follows = "nixpkgs"; }; - - ags.url = "github:Aylur/ags"; - - stylix.url = "github:danth/stylix"; }; outputs = { self, nixpkgs, - nixpkgs-unstable, home-manager, flake-utils, + nixos-cosmic, ... - } @ inputs: - { - nixosConfigurations.waves = nixpkgs.lib.nixosSystem { - specialArgs = { - inherit (self) outputs; - inherit inputs flake-utils; - }; + } @ inputs: let + mkApp = flake-utils.lib.mkApp; + mkFlake = flake-utils.lib.mkFlake; + in + mkFlake { + inherit self inputs nixpkgs home-manager; + channelsConfig.allowUnfree = true; + sharedOverlays = [ + self.overlays.additions + self.overlays.modifications + self.overlays.unstable-packages + ]; + + # host defaults + hostDefaults.system = "x86_64-linux"; + hostDefaults.modules = [ + { + nix.settings = { + substituters = ["https://cosmic.cachix.org/"]; + trusted-public-keys = ["cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE="]; + }; + } + nixos-cosmic.nixosModules.default + ]; + hostDefaults.extraArgs = {inherit flake-utils;}; + hostDefaults.specialArgs = { + inherit inputs; + inherit (self) outputs; + }; + + hosts.waves = { + system = "x86_64-linux"; modules = [ inputs.disko.nixosModules.default (import ./disko.nix {device = "/dev/disk/by-id/nvme-Samsung_SSD_980_PRO_with_Heatsink_1TB_S6WSNJ0T900943T";}) - ./waves.nix + ./system/waves/configuration.nix + home-manager.nixosModules.home-manager + { + home-manager.useGlobalPkgs = true; + } + ./home/valerie/home.nix ]; + output = "nixosConfigurations"; }; overlays = import ./overlays {inherit inputs;}; - - homeConfigurations."dv@waves" = home-manager.lib.homeManagerConfiguration { - pkgs = import nixpkgs {system = "x86_64-linux";}; - extraSpecialArgs = { - inherit (self) outputs; - inherit inputs flake-utils; - }; - - modules = [ - inputs.niri.homeModules.niri - inputs.stylix.homeManagerModules.stylix - # inputs.niri.homeModules.config - ./modules/home/dv.nix - ]; - }; } // flake-utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages.${system}; @@ -82,7 +97,7 @@ apps = { "disko" = { type = "app"; - program = "${self.outputs.packages.${system}.disko}/bin/disko"; + program = "${outputs.packages.${system}.disko}/bin/disko"; }; }; diff --git a/modules/home/term/lf-icons b/home/dotfiles/lf-icons similarity index 100% rename from modules/home/term/lf-icons rename to home/dotfiles/lf-icons diff --git a/modules/home/term/prompt.json b/home/dotfiles/prompt.json similarity index 100% rename from modules/home/term/prompt.json rename to home/dotfiles/prompt.json diff --git a/modules/home/term/pst b/home/dotfiles/pst similarity index 100% rename from modules/home/term/pst rename to home/dotfiles/pst diff --git a/modules/home/term/wezterm.lua b/home/dotfiles/wezterm.lua similarity index 71% rename from modules/home/term/wezterm.lua rename to home/dotfiles/wezterm.lua index 17a40db..f19bf9f 100644 --- a/modules/home/term/wezterm.lua +++ b/home/dotfiles/wezterm.lua @@ -11,25 +11,25 @@ config.hide_tab_bar_if_only_one_tab = true -- weight = "Regular", -- }) config.font = wezterm.font_with_fallback({ - -- { family = "Rec Mono Waves", weight = "Regular" }, - { family = "JuliaMono", weight = "Regular" }, - -- "CozetteHiDpi", - "Symbols Nerd Font", + -- { family = "Rec Mono Waves", weight = "Regular" }, + { family = "Monaspace Neon", weight = "Regular" }, + -- "CozetteHiDpi", + "Symbols Nerd Font", }) -config.font_size = 14 --- config.cell_width = 0.88 +config.font_size = 12 +config.cell_width = 0.95 config.set_environment_variables = { - TERM = "xterm-256color", - EDITOR = "nvim", - VISUAL = "nvim", + TERM = "xterm-256color", + EDITOR = "nvim", + VISUAL = "nvim", } config.window_padding = { - left = 7, - right = 7, - top = 0, - bottom = 0, + left = 7, + right = 7, + top = 0, + bottom = 0, } config.default_cursor_style = "SteadyBar" @@ -38,12 +38,12 @@ config.default_cursor_style = "SteadyBar" config.enable_wayland = false config.unix_domains = { - { - name = "unix", - }, + { + name = "unix", + }, } config.freetype_load_flags = "DEFAULT" -config.window_background_opacity = 0.95 +config.window_background_opacity = 1.00 config.max_fps = 144 config.scrollback_lines = 10000 diff --git a/home/modules/core/default.nix b/home/modules/core/default.nix new file mode 100644 index 0000000..77089d0 --- /dev/null +++ b/home/modules/core/default.nix @@ -0,0 +1,12 @@ +{pkgs, ...}: { + services.gnome-keyring = { + enable = true; + components = ["secrets" "ssh"]; + }; + programs.obs-studio = { + enable = true; + plugins = with pkgs.obs-studio-plugins; [ + wlrobs + ]; + }; +} diff --git a/home/modules/default.nix b/home/modules/default.nix new file mode 100644 index 0000000..2004978 --- /dev/null +++ b/home/modules/default.nix @@ -0,0 +1,6 @@ +[ + ./core + ./gui + ./term + ./dev +] diff --git a/home/modules/dev/default.nix b/home/modules/dev/default.nix new file mode 100644 index 0000000..0f07287 --- /dev/null +++ b/home/modules/dev/default.nix @@ -0,0 +1,160 @@ +{ + pkgs, + config, + ... +}: { + home.packages = with pkgs.unstable; [ + bruno + xclip + just + nixd + alejandra + zoxide + neovide + nodejs + corepack + cargo-watch + rustup + gcc + go + jetbrains.idea-community + cascadia-code + jdk17 + # lua + lua51Packages.lua + tree-sitter + luarocks + gnumake + ast-grep + ncdu + gh-dash + hurl + jnv + rustscan + slides + markdownlint-cli2 + fx + jq + deno + ]; + + # git + programs.gitui = { + enable = true; + keyConfig = '' + ( + move_left: Some(( code: Char('h'), modifiers: "")), + move_right: Some(( code: Char('l'), modifiers: "")), + move_up: Some(( code: Char('k'), modifiers: "")), + move_down: Some(( code: Char('j'), modifiers: "")), + + stash_open: Some(( code: Char('l'), modifiers: "")), + open_help: Some(( code: F(1), modifiers: "")), + + status_reset_item: Some(( code: Char('U'), modifiers: "SHIFT")), + ) + ''; + }; + programs.git = { + enable = true; + package = pkgs.gitAndTools.gitFull; + lfs.enable = true; + + userName = "deva"; + userEmail = "hi@dessa.dev"; + signing = { + key = "CC10324DD962CB7E"; + signByDefault = true; + }; + + aliases = { + wta = "worktree add"; + wtl = "worktree list"; + wtr = "worktree remove"; + rh = "reset HEAD"; # unstages all changes + lg = "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --"; + lgb = "--no-pager log --oneline --decorate --graph --parents --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --"; + nuke = "!git clean -xdf && git reset --hard && git pull"; + st = "status -sb"; + sync = "!git push && git pull"; + rs = "restore --staged"; + ll = "log --oneline"; + last = "log -1 HEAD --stat"; + cm = "commit -m"; + co = "checkout"; + rv = "remote -v"; + df = "diff HEAD"; + }; + + extraConfig = { + init.defaultBranch = "main"; + branch.autosetupmerge = "true"; + push.default = "current"; + merge.stat = "true"; + core.whitespace = "fix,-indent-with-non-tab,trailing-space,cr-at-eol"; + repack.usedeltabaseoffset = "true"; + pull.ff = "only"; + rebase = { + autoSquash = true; + autoStash = true; + }; + rerere = { + enabled = true; + autoupdate = true; + }; + }; + ignores = [ + "*~" + "*.swp" + "*result*" + "todo.md" + "node_modules" + ]; + }; + programs.gh = { + enable = true; + extensions = [ + pkgs.gh-copilot + ]; + gitCredentialHelper.enable = true; + settings = { + editor = "nvim"; + git_protocol = "ssh"; + aliases = { + co = "pr checkout"; + rc = "repo clone"; + cp = "copilot"; + }; + }; + }; + + # ssh + programs.ssh = { + enable = true; + matchBlocks = { + "hi@dessa.dev" = { + host = "gitlab.com github.com 192.168.1.203"; + identitiesOnly = true; + identityFile = [ + "~/.ssh/id_user" + ]; + }; + }; + }; + programs.gpg = { + enable = true; + homedir = "${config.home.homeDirectory}/.gnupg"; + settings = { + use-agent = true; + default-key = "CC10324DD962CB7E"; + }; + }; + services.gpg-agent = { + enable = true; + enableSshSupport = true; + pinentryPackage = pkgs.pinentry-gnome3; + }; + home.sessionVariables = { + SSH_AUTH_SOCK = "$XDG_RUNTIME_DIR/keyring/ssh"; + }; +} diff --git a/modules/home/gui-core.nix b/home/modules/gui/default.nix similarity index 100% rename from modules/home/gui-core.nix rename to home/modules/gui/default.nix diff --git a/modules/home/term/default.nix b/home/modules/term/default.nix similarity index 96% rename from modules/home/term/default.nix rename to home/modules/term/default.nix index ea6fa35..b71507a 100644 --- a/modules/home/term/default.nix +++ b/home/modules/term/default.nix @@ -3,7 +3,7 @@ pkgs, ... }: let - pst = pkgs.writeShellScriptBin "pst" (builtins.readFile ./pst); + pst = pkgs.writeShellScriptBin "pst" (builtins.readFile ../../dotfiles/pst); in { xdg.configFile."wezterm/colors/camellia-hope-dark.toml".text = builtins.readFile (pkgs.fetchFromGitHub { owner = "camellia-theme"; @@ -15,7 +15,7 @@ in { programs = { wezterm = { enable = true; - extraConfig = builtins.readFile ./wezterm.lua; + extraConfig = builtins.readFile ../../dotfiles/wezterm.lua; }; broot = { enable = true; @@ -126,7 +126,7 @@ in { ''; }; }; - xdg.configFile."lf/icons".source = ./lf-icons; + xdg.configFile."lf/icons".source = ../../dotfiles/lf-icons; programs.bat.enable = true; programs.eza.enable = true; programs.man.enable = true; @@ -270,14 +270,14 @@ in { bindkey -M viins '^[^[' sudo-command-line # prompt init - eval "$(${pkgs.oh-my-posh}/bin/oh-my-posh init zsh --config ${./prompt.json})" + eval "$(${pkgs.oh-my-posh}/bin/oh-my-posh init zsh --config ${../../dotfiles/prompt.json})" ''; dirHashes = { dl = "${config.home.homeDirectory}/Downloads"; docs = "${config.home.homeDirectory}/Documents"; src = "${config.home.homeDirectory}/src"; - dots = "${config.home.homeDirectory}/nix"; - nix = "${config.home.homeDirectory}/nix"; + dots = "${config.home.homeDirectory}/nixos"; + nix = "${config.home.homeDirectory}/nixos"; pics = "${config.home.homeDirectory}/Pictures"; vids = "${config.home.homeDirectory}/Videos"; }; @@ -309,6 +309,8 @@ in { j = "just"; ed = "code"; nv = "nvim"; + sv = "sudo nvim"; + meteo = "curl http://wttr.in"; cdi = "broot"; bd = "popd || cd .."; lf = "yazi"; diff --git a/home/valerie/home.nix b/home/valerie/home.nix new file mode 100644 index 0000000..2e091a5 --- /dev/null +++ b/home/valerie/home.nix @@ -0,0 +1,55 @@ +{ + pkgs, + lib, + config, + inputs, + ... +}: let + hm = inputs.home-manager.lib.hm; +in { + home-manager.users.valerie = { + # import home-manager modules + imports = builtins.concatMap import [ + ../modules + ]; + + home = { + file.".ssh/id_user.pub".text = builtins.readFile ../../system/waves/id_user.pub; + username = "valerie"; + homeDirectory = "/home/valerie"; + extraOutputsToInstall = ["doc" "devdoc"]; + packages = + [ + inputs.nh.packages.x86_64-linux.default + ] + ++ (with pkgs; [ + nom + pinta + vesktop + signal-desktop + blockbench + blender + prismlauncher + steam + unstable.vscode-fhs + ]); + sessionVariables = { + NIX_AUTO_RUN = "1"; + FLAKE = "/home/valerie/nixos"; + }; + stateVersion = "24.11"; + }; + nix.package = lib.mkForce pkgs.unstable.nixVersions.latest; + nix.extraOptions = '' + experimental-features = nix-command flakes + ''; + manual = { + html.enable = false; + json.enable = false; + manpages.enable = false; + }; + programs.home-manager.enable = true; + programs.git.enable = true; + systemd.user.startServices = "sd-switch"; + }; +} diff --git a/modules/home/ags.nix b/modules/home/ags.nix deleted file mode 100644 index c517fcf..0000000 --- a/modules/home/ags.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ - inputs, - pkgs, - ... -}: { - imports = [inputs.ags.homeManagerModules.default]; - home.packages = with pkgs; [ - sassc - ]; - programs.ags = { - enable = true; - - # additional packages to add to gjs's runtime - extraPackages = with pkgs; [ - gtksourceview - webkitgtk - accountsservice - ]; - }; -} diff --git a/modules/home/dev/default.nix b/modules/home/dev/default.nix deleted file mode 100644 index 49f310c..0000000 --- a/modules/home/dev/default.nix +++ /dev/null @@ -1,41 +0,0 @@ -{pkgs, ...}: { - imports = [ - ./git.nix - ./ssh.nix - ./gpg.nix - ]; - - home.packages = with pkgs; [ - unstable.bruno - unstable.xclip - unstable.just - unstable.nixd - unstable.alejandra - unstable.zoxide - unstable.neovide - unstable.nodejs - unstable.corepack - unstable.cargo-watch - unstable.rustup - unstable.gcc - unstable.go - unstable.jetbrains.idea-community - unstable.cascadia-code - unstable.jdk17 - # unstable.lua - unstable.lua51Packages.lua - unstable.tree-sitter - unstable.luarocks - unstable.gnumake - unstable.ast-grep - unstable.ncdu - unstable.gh-dash - unstable.hurl - unstable.jnv - unstable.rustscan - unstable.slides - unstable.markdownlint-cli2 - unstable.fx - unstable.jq - ]; -} diff --git a/modules/home/dev/git.nix b/modules/home/dev/git.nix deleted file mode 100644 index 6801997..0000000 --- a/modules/home/dev/git.nix +++ /dev/null @@ -1,90 +0,0 @@ -{pkgs, ...}: { - programs.gitui = { - enable = true; - keyConfig = '' -( - move_left: Some(( code: Char('h'), modifiers: "")), - move_right: Some(( code: Char('l'), modifiers: "")), - move_up: Some(( code: Char('k'), modifiers: "")), - move_down: Some(( code: Char('j'), modifiers: "")), - - stash_open: Some(( code: Char('l'), modifiers: "")), - open_help: Some(( code: F(1), modifiers: "")), - - status_reset_item: Some(( code: Char('U'), modifiers: "SHIFT")), -) - ''; - }; - programs.git = { - enable = true; - package = pkgs.gitAndTools.gitFull; - lfs.enable = true; - - userName = "deva"; - userEmail = "hi@dessa.dev"; - signing = { - key = "CC10324DD962CB7E"; - signByDefault = true; - }; - - aliases = { - wta = "worktree add"; - wtl = "worktree list"; - wtr = "worktree remove"; - rh = "reset HEAD"; # unstages all changes - lg = "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --"; - lgb = "--no-pager log --oneline --decorate --graph --parents --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --"; - nuke = "!git clean -xdf && git reset --hard && git pull"; - st = "status -sb"; - sync = "!git push && git pull"; - rs = "restore --staged"; - ll = "log --oneline"; - last = "log -1 HEAD --stat"; - cm = "commit -m"; - co = "checkout"; - rv = "remote -v"; - df = "diff HEAD"; - }; - - extraConfig = { - init.defaultBranch = "main"; - branch.autosetupmerge = "true"; - push.default = "current"; - merge.stat = "true"; - core.whitespace = "fix,-indent-with-non-tab,trailing-space,cr-at-eol"; - repack.usedeltabaseoffset = "true"; - pull.ff = "only"; - rebase = { - autoSquash = true; - autoStash = true; - }; - rerere = { - enabled = true; - autoupdate = true; - }; - }; - ignores = [ - "*~" - "*.swp" - "*result*" - "todo.md" - "node_modules" - ]; - }; - programs.gh = { - enable = true; - extensions = [ - pkgs.gh-copilot - ]; - gitCredentialHelper.enable = true; - settings = { - editor = "nvim"; - git_protocol = "ssh"; - aliases = { - co = "pr checkout"; - rc = "repo clone"; - cp = "copilot"; - }; - }; - }; -} diff --git a/modules/home/dev/gpg.nix b/modules/home/dev/gpg.nix deleted file mode 100644 index 4ce26d8..0000000 --- a/modules/home/dev/gpg.nix +++ /dev/null @@ -1,18 +0,0 @@ -{pkgs, config, ...}: { - programs.gpg = { - enable = true; - homedir = "${config.home.homeDirectory}/.gnupg"; - settings = { - use-agent = true; - default-key = "CC10324DD962CB7E"; - }; - }; - services.gpg-agent = { - enable = true; - enableSshSupport = true; - pinentryPackage = pkgs.pinentry-gnome3; - }; - home.sessionVariables = { - SSH_AUTH_SOCK = "$XDG_RUNTIME_DIR/keyring/ssh"; - }; -} diff --git a/modules/home/dev/ssh.nix b/modules/home/dev/ssh.nix deleted file mode 100644 index 98fbed0..0000000 --- a/modules/home/dev/ssh.nix +++ /dev/null @@ -1,12 +0,0 @@ -{programs.ssh = { - enable = true; - matchBlocks = { - "hi@dessa.dev" = { - host = "gitlab.com github.com 192.168.1.203"; - identitiesOnly = true; - identityFile = [ - "~/.ssh/id_user" - ]; - }; - }; - };} diff --git a/modules/home/dv.nix b/modules/home/dv.nix deleted file mode 100644 index 2966a4f..0000000 --- a/modules/home/dv.nix +++ /dev/null @@ -1,84 +0,0 @@ -{ - pkgs, - lib, - config, - inputs, - outputs, - ... -}: { - imports = [ - ./services.nix - ./programs.nix - ./stylix.nix - # development - ./dev - # terminal - ./term - # gui - ./gui-core.nix - ./ags.nix - # ./niri.nix - ]; - - nix = { - #package = pkgs.nix; - registry.nixpkgs.flake = inputs.nixpkgs; - gc.automatic = true; - settings = { - # Enable flakes and new 'nix' command - experimental-features = "nix-command flakes"; - # Opinionated: disable global registry - flake-registry = ""; - # Workaround for https://github.com/NixOS/nix/issues/9574 - #allowUnfree = true; - }; - }; - - nixpkgs.config = { - allowUnfree = true; - cudaSupport = true; - }; - nixpkgs.overlays = [ - outputs.overlays.additions - outputs.overlays.modifications - outputs.overlays.unstable-packages - inputs.niri.overlays.niri - ]; - home = { - file.".ssh/id_user.pub".text = builtins.readFile ../nixos/id_user.pub; - username = "dv"; - homeDirectory = "/dv"; - extraOutputsToInstall = ["doc" "devdoc"]; - packages = [ - inputs.nh.packages.x86_64-linux.default - pkgs.nom - pkgs.pinta - pkgs.vesktop - pkgs.signal-desktop - pkgs.blockbench - pkgs.blender - pkgs.prismlauncher - pkgs.steam - ]; - sessionVariables = { - NIX_AUTO_RUN = "1"; - FLAKE = "/dv/nixos"; - }; - stateVersion = "24.11"; - }; - nix.package = lib.mkForce pkgs.unstable.nixVersions.latest; - nix.extraOptions = '' - experimental-features = nix-command flakes - ''; - manual = { - html.enable = false; - json.enable = false; - manpages.enable = false; - }; - programs.home-manager.enable = true; - programs.git.enable = true; - #programs.nix-index.enable = true; - #programs.nix-index.symlinkToCacheHome = true; - #programs.nix-index-database.comma.enable = true; - systemd.user.startServices = "sd-switch"; -} diff --git a/modules/home/niri.nix b/modules/home/niri.nix deleted file mode 100644 index 4fb6f8c..0000000 --- a/modules/home/niri.nix +++ /dev/null @@ -1,347 +0,0 @@ -{ - pkgs, - config, - lib, - ... -}: { - home.packages = with pkgs; [ - wl-clipboard - wayland-utils - libsecret - cage - gamescope - xwayland-satellite - ]; - programs.fuzzel.enable = true; - programs.fuzzel.settings.main.terminal = "wezterm"; - services.mako = { - font = "cozette 12"; - enable = true; - }; - programs.niri.enable = true; - programs.niri.package = pkgs.niri-stable; - programs.niri.settings = { - input.keyboard.xkb.layout = "no"; - input.keyboard.repeat-delay = 200; - input.keyboard.repeat-rate = 30; - # input.mouse.accel-speed = 1.0; - input.mouse = { - accel-speed = 0.0; - accel-profile = "flat"; - }; - input.touchpad = { - tap = true; - dwt = true; - click-method = "clickfinger"; - natural-scroll = true; - }; - prefer-no-csd = true; - layout = { - gaps = 16; - struts.left = 64; - struts.right = 64; - border.width = 4; - }; - hotkey-overlay.skip-at-startup = true; - debug.wait-for-frame-completion-before-queueing = true; - window-rules = [ - { - matches = [{app-id = "^org\.wezfurlong\.wezterm$";}]; - default-column-width = {}; - opacity = 0.95; - } - ]; - animations.shaders.window-resize = '' - vec4 resize_color(vec3 coords_curr_geo, vec3 size_curr_geo) { - vec3 coords_next_geo = niri_curr_geo_to_next_geo * coords_curr_geo; - - vec3 coords_stretch = niri_geo_to_tex_next * coords_curr_geo; - vec3 coords_crop = niri_geo_to_tex_next * coords_next_geo; - - // We can crop if the current window size is smaller than the next window - // size. One way to tell is by comparing to 1.0 the X and Y scaling - // coefficients in the current-to-next transformation matrix. - bool can_crop_by_x = niri_curr_geo_to_next_geo[0][0] <= 1.0; - bool can_crop_by_y = niri_curr_geo_to_next_geo[1][1] <= 1.0; - - vec3 coords = coords_stretch; - if (can_crop_by_x) - coords.x = coords_crop.x; - if (can_crop_by_y) - coords.y = coords_crop.y; - - vec4 color = texture2D(niri_tex_next, coords.st); - - // However, when we crop, we also want to crop out anything outside the - // current geometry. This is because the area of the shader is unspecified - // and usually bigger than the current geometry, so if we don't fill pixels - // outside with transparency, the texture will leak out. - // - // When stretching, this is not an issue because the area outside will - // correspond to client-side decoration shadows, which are already supposed - // to be outside. - if (can_crop_by_x && (coords_curr_geo.x < 0.0 || 1.0 < coords_curr_geo.x)) - color = vec4(0.0); - if (can_crop_by_y && (coords_curr_geo.y < 0.0 || 1.0 < coords_curr_geo.y)) - color = vec4(0.0); - - return color; - } - ''; - binds = with config.lib.niri.actions; let - sh = spawn "sh" "-c"; - - screenshot-area-script = pkgs.writeShellScript "screenshot-area" '' - grim -o $(niri msg --json focused-output | jq -r .name) - | swayimg --config=info.mode=off --fullscreen - & - SWAYIMG=$! - niri msg action do-screen-transition -d 1200 - sleep 1.2 - grim -g "$(slurp)" - | wl-copy -t image/png - niri msg action do-screen-transition - kill $SWAYIMG - ''; - - screenshot-area = spawn "${screenshot-area-script}"; - in - lib.attrsets.mergeAttrsList [ - { - "Mod+T".action = spawn "wezterm"; - "Mod+D".action = spawn "fuzzel"; - "Mod+J".action = focus-window-or-workspace-down; - "Mod+K".action = focus-window-or-workspace-up; - "Mod+Ctrl+J".action = move-window-down-or-to-workspace-down; - "Mod+Ctrl+K".action = move-window-up-or-to-workspace-up; - } - ]; - }; - programs.niri.config = '' - debug { - wait-for-frame-completion-before-queueing - } - - window-rule { - match app-id=r#"^org\.wezfurlong\.wezterm$"# - default-column-width {} - } - - binds { - // Keys consist of modifiers separated by + signs, followed by an XKB key name - // in the end. To find an XKB name for a particular key, you may use a program - // like wev. - // - // "Mod" is a special modifier equal to Super when running on a TTY, and to Alt - // when running as a winit window. - // - // Most actions that you can bind here can also be invoked programmatically with - // `niri msg action do-something`. - - // Mod-Shift-/, which is usually the same as Mod-?, - // shows a list of important hotkeys. - Mod+Shift+Slash { show-hotkey-overlay; } - - // Suggested binds for running programs: terminal, app launcher, screen locker. - Mod+T { spawn "wezterm"; } - Mod+D { spawn "fuzzel"; } - Super+Alt+L { spawn "swaylock"; } - - // You can also use a shell. Do this if you need pipes, multiple commands, etc. - // Note: the entire command goes as a single argument in the end. - // Mod+T { spawn "bash" "-c" "notify-send hello && exec alacritty"; } - - // Example volume keys mappings for PipeWire & WirePlumber. - // The allow-when-locked=true property makes them work even when the session is locked. - XF86AudioRaiseVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+"; } - XF86AudioLowerVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-"; } - XF86AudioMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; } - XF86AudioMicMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"; } - - Mod+Q { close-window; } - - Mod+Left { focus-column-left; } - Mod+Down { focus-window-down; } - Mod+Up { focus-window-up; } - Mod+Right { focus-column-right; } - Mod+H { focus-column-left; } - Mod+J { focus-window-down; } - Mod+K { focus-window-up; } - Mod+L { focus-column-right; } - - Mod+Ctrl+Left { move-column-left; } - Mod+Ctrl+Down { move-window-down; } - Mod+Ctrl+Up { move-window-up; } - Mod+Ctrl+Right { move-column-right; } - Mod+Ctrl+H { move-column-left; } - Mod+Ctrl+J { move-window-down; } - Mod+Ctrl+K { move-window-up; } - Mod+Ctrl+L { move-column-right; } - - // Alternative commands that move across workspaces when reaching - // the first or last window in a column. - // Mod+J { focus-window-or-workspace-down; } - // Mod+K { focus-window-or-workspace-up; } - // Mod+Ctrl+J { move-window-down-or-to-workspace-down; } - // Mod+Ctrl+K { move-window-up-or-to-workspace-up; } - - Mod+Home { focus-column-first; } - Mod+End { focus-column-last; } - Mod+Ctrl+Home { move-column-to-first; } - Mod+Ctrl+End { move-column-to-last; } - - Mod+Shift+Left { focus-monitor-left; } - Mod+Shift+Down { focus-monitor-down; } - Mod+Shift+Up { focus-monitor-up; } - Mod+Shift+Right { focus-monitor-right; } - Mod+Shift+H { focus-monitor-left; } - Mod+Shift+J { focus-monitor-down; } - Mod+Shift+K { focus-monitor-up; } - Mod+Shift+L { focus-monitor-right; } - - Mod+Shift+Ctrl+Left { move-column-to-monitor-left; } - Mod+Shift+Ctrl+Down { move-column-to-monitor-down; } - Mod+Shift+Ctrl+Up { move-column-to-monitor-up; } - Mod+Shift+Ctrl+Right { move-column-to-monitor-right; } - Mod+Shift+Ctrl+H { move-column-to-monitor-left; } - Mod+Shift+Ctrl+J { move-column-to-monitor-down; } - Mod+Shift+Ctrl+K { move-column-to-monitor-up; } - Mod+Shift+Ctrl+L { move-column-to-monitor-right; } - - // Alternatively, there are commands to move just a single window: - // Mod+Shift+Ctrl+Left { move-window-to-monitor-left; } - // ... - - // And you can also move a whole workspace to another monitor: - // Mod+Shift+Ctrl+Left { move-workspace-to-monitor-left; } - // ... - - Mod+Page_Down { focus-workspace-down; } - Mod+Page_Up { focus-workspace-up; } - Mod+U { focus-workspace-down; } - Mod+I { focus-workspace-up; } - Mod+Ctrl+Page_Down { move-column-to-workspace-down; } - Mod+Ctrl+Page_Up { move-column-to-workspace-up; } - Mod+Ctrl+U { move-column-to-workspace-down; } - Mod+Ctrl+I { move-column-to-workspace-up; } - - // Alternatively, there are commands to move just a single window: - // Mod+Ctrl+Page_Down { move-window-to-workspace-down; } - // ... - - Mod+Shift+Page_Down { move-workspace-down; } - Mod+Shift+Page_Up { move-workspace-up; } - Mod+Shift+U { move-workspace-down; } - Mod+Shift+I { move-workspace-up; } - - // You can bind mouse wheel scroll ticks using the following syntax. - // These binds will change direction based on the natural-scroll setting. - // - // To avoid scrolling through workspaces really fast, you can use - // the cooldown-ms property. The bind will be rate-limited to this value. - // You can set a cooldown on any bind, but it's most useful for the wheel. - Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; } - Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; } - Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; } - Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; } - - Mod+WheelScrollRight { focus-column-right; } - Mod+WheelScrollLeft { focus-column-left; } - Mod+Ctrl+WheelScrollRight { move-column-right; } - Mod+Ctrl+WheelScrollLeft { move-column-left; } - - // Usually scrolling up and down with Shift in applications results in - // horizontal scrolling; these binds replicate that. - Mod+Shift+WheelScrollDown { focus-column-right; } - Mod+Shift+WheelScrollUp { focus-column-left; } - Mod+Ctrl+Shift+WheelScrollDown { move-column-right; } - Mod+Ctrl+Shift+WheelScrollUp { move-column-left; } - - // Similarly, you can bind touchpad scroll "ticks". - // Touchpad scrolling is continuous, so for these binds it is split into - // discrete intervals. - // These binds are also affected by touchpad's natural-scroll, so these - // example binds are "inverted", since we have natural-scroll enabled for - // touchpads by default. - // Mod+TouchpadScrollDown { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.02+"; } - // Mod+TouchpadScrollUp { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.02-"; } - - // You can refer to workspaces by index. However, keep in mind that - // niri is a dynamic workspace system, so these commands are kind of - // "best effort". Trying to refer to a workspace index bigger than - // the current workspace count will instead refer to the bottommost - // (empty) workspace. - // - // For example, with 2 workspaces + 1 empty, indices 3, 4, 5 and so on - // will all refer to the 3rd workspace. - Mod+1 { focus-workspace 1; } - Mod+2 { focus-workspace 2; } - Mod+3 { focus-workspace 3; } - Mod+4 { focus-workspace 4; } - Mod+5 { focus-workspace 5; } - Mod+6 { focus-workspace 6; } - Mod+7 { focus-workspace 7; } - Mod+8 { focus-workspace 8; } - Mod+9 { focus-workspace 9; } - Mod+Ctrl+1 { move-column-to-workspace 1; } - Mod+Ctrl+2 { move-column-to-workspace 2; } - Mod+Ctrl+3 { move-column-to-workspace 3; } - Mod+Ctrl+4 { move-column-to-workspace 4; } - Mod+Ctrl+5 { move-column-to-workspace 5; } - Mod+Ctrl+6 { move-column-to-workspace 6; } - Mod+Ctrl+7 { move-column-to-workspace 7; } - Mod+Ctrl+8 { move-column-to-workspace 8; } - Mod+Ctrl+9 { move-column-to-workspace 9; } - - // Alternatively, there are commands to move just a single window: - // Mod+Ctrl+1 { move-window-to-workspace 1; } - - // Switches focus between the current and the previous workspace. - // Mod+Tab { focus-workspace-previous; } - - Mod+Comma { consume-window-into-column; } - Mod+Period { expel-window-from-column; } - - // There are also commands that consume or expel a single window to the side. - // Mod+BracketLeft { consume-or-expel-window-left; } - // Mod+BracketRight { consume-or-expel-window-right; } - - Mod+R { switch-preset-column-width; } - Mod+Shift+R { reset-window-height; } - Mod+F { maximize-column; } - Mod+Shift+F { fullscreen-window; } - Mod+C { center-column; } - - // Finer width adjustments. - // This command can also: - // * set width in pixels: "1000" - // * adjust width in pixels: "-5" or "+5" - // * set width as a percentage of screen width: "25%" - // * adjust width as a percentage of screen width: "-10%" or "+10%" - // Pixel sizes use logical, or scaled, pixels. I.e. on an output with scale 2.0, - // set-column-width "100" will make the column occupy 200 physical screen pixels. - Mod+Minus { set-column-width "-10%"; } - Mod+Equal { set-column-width "+10%"; } - - // Finer height adjustments when in column with other windows. - Mod+Shift+Minus { set-window-height "-10%"; } - Mod+Shift+Equal { set-window-height "+10%"; } - - // Actions to switch layouts. - // Note: if you uncomment these, make sure you do NOT have - // a matching layout switch hotkey configured in xkb options above. - // Having both at once on the same hotkey will break the switching, - // since it will switch twice upon pressing the hotkey (once by xkb, once by niri). - // Mod+Space { switch-layout "next"; } - // Mod+Shift+Space { switch-layout "prev"; } - - Print { screenshot; } - Ctrl+Print { screenshot-screen; } - Alt+Print { screenshot-window; } - - // The quit action will show a confirmation dialog to avoid accidental exits. - Mod+Shift+E { quit; } - - // Powers off the monitors. To turn them back on, do any input like - // moving the mouse or pressing any other key. - Mod+Shift+P { power-off-monitors; } - } - ''; -} diff --git a/modules/home/programs.nix b/modules/home/programs.nix deleted file mode 100644 index 0d81880..0000000 --- a/modules/home/programs.nix +++ /dev/null @@ -1,8 +0,0 @@ -{pkgs, ...}: { - programs.obs-studio = { - enable = true; - plugins = with pkgs.obs-studio-plugins; [ - wlrobs - ]; - }; -} diff --git a/modules/home/services.nix b/modules/home/services.nix deleted file mode 100644 index 4f103cc..0000000 --- a/modules/home/services.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - services.gnome-keyring = { - enable = true; - components = ["secrets" "ssh"]; - }; -} diff --git a/modules/home/stylix.nix b/modules/home/stylix.nix deleted file mode 100644 index cd87f8d..0000000 --- a/modules/home/stylix.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ - pkgs, - inputs, - ... -}: { - imports = [ - inputs.niri.homeModules.stylix - ]; - stylix.targets.niri.enable = true; - stylix.image = ./wallhaven-expk3o.png; - stylix.polarity = "dark"; - stylix.base16Scheme = builtins.readFile (pkgs.fetchFromGitHub { - owner = "camellia-theme"; - repo = "camellia"; - rev = "3b319bb337caccc311e60c3a8d357c4431b63680"; - hash = "sha256-HNdGHJ8n81HpVK9gFiRLZBBh0sz4FIUUx/ykGyoxv0c="; - } - + "/ports/base16/camelliaHopeDark.yml"); - stylix.autoEnable = true; -} diff --git a/modules/home/wallhaven-expk3o.png b/modules/home/wallhaven-expk3o.png deleted file mode 100644 index 816a541..0000000 Binary files a/modules/home/wallhaven-expk3o.png and /dev/null differ diff --git a/modules/nixos/adb.nix b/modules/nixos/adb.nix deleted file mode 100644 index c0cb7d0..0000000 --- a/modules/nixos/adb.nix +++ /dev/null @@ -1,3 +0,0 @@ -{...}: { - programs.adb.enable = true; -} diff --git a/modules/nixos/console.nix b/modules/nixos/console.nix deleted file mode 100644 index 9e6fe36..0000000 --- a/modules/nixos/console.nix +++ /dev/null @@ -1,8 +0,0 @@ -{pkgs, lib, ...}: { - console = { - earlySetup = true; - font = "${pkgs.terminus_font}/share/consolefonts/ter-v32n.psf.gz"; - keyMap = lib.mkForce "us"; - useXkbConfig = true; # use xkb.options in tty. - }; -} diff --git a/modules/nixos/fonts.nix b/modules/nixos/fonts.nix deleted file mode 100644 index 0c5a31d..0000000 --- a/modules/nixos/fonts.nix +++ /dev/null @@ -1,36 +0,0 @@ -{pkgs, ...}: { - fonts = { - enableDefaultPackages = false; - fontconfig = { - enable = true; - antialias = true; - defaultFonts = { - emoji = ["Noto Color Emoji"]; - monospace = ["JuliaMono" "Symbols Nerd Font" "Noto Color Emoji"]; - serif = ["Noto Serif" "Noto Color Emoji"]; - sansSerif = ["Overpass" "Nunito" "Noto Color Emoji"]; - }; - hinting = { - enable = true; - autohint = false; - style = "full"; - }; - subpixel = { - lcdfilter = "default"; - rgba = "rgb"; - }; - }; - fontDir = { - enable = true; - decompressFonts = true; - }; - packages = [ - pkgs.noto-fonts - pkgs.noto-fonts-emoji - - pkgs.material-design-icons - (pkgs.google-fonts.override {fonts = ["Overpass" "Nunito"];}) - (pkgs.unstable.nerdfonts.override {fonts = ["NerdFontsSymbolsOnly"];}) - ]; - }; -} diff --git a/modules/nixos/gui.nix b/modules/nixos/gui.nix deleted file mode 100644 index 6661d0d..0000000 --- a/modules/nixos/gui.nix +++ /dev/null @@ -1,22 +0,0 @@ -{pkgs, ...}: { - services.xserver.enable = true; - services.xserver.displayManager.gdm.enable = true; - services.xserver.desktopManager.gnome.enable = true; - environment.gnome.excludePackages = - (with pkgs; [ - # for packages that are pkgs.* - gnome-tour - gnome-connections - ]) - ++ (with pkgs.gnome; [ - # for packages that are pkgs.gnome.* - epiphany # web browser - geary # email reader - evince # document viewer - ]); - - programs.hyprland.enable = true; - programs.hyprlock.enable = true; - services.hypridle.enable = true; - programs.hyprland.xwayland.enable = true; -} diff --git a/modules/nixos/i18n.nix b/modules/nixos/i18n.nix deleted file mode 100644 index 3f8b5a8..0000000 --- a/modules/nixos/i18n.nix +++ /dev/null @@ -1,5 +0,0 @@ -{...}: { - time.timeZone = "America/Indiana/Indianapolis"; - - i18n.defaultLocale = "en_US.UTF-8"; -} diff --git a/modules/nixos/kanata.nix b/modules/nixos/kanata.nix deleted file mode 100644 index be4a906..0000000 --- a/modules/nixos/kanata.nix +++ /dev/null @@ -1,7 +0,0 @@ -{pkgs, ...}: { - environment.systemPackages = with pkgs; [kanata]; - boot.kernelModules = ["uinput"]; - services.udev.extraRules = '' - KERNEL=="uinput", SUBSYSTEM=="misc", TAG+="uaccess", OPTIONS+="static_node=uinput", GROUP="input", MODE="0660" - ''; -} diff --git a/modules/nixos/localnameresolution.nix b/modules/nixos/localnameresolution.nix deleted file mode 100644 index 8400266..0000000 --- a/modules/nixos/localnameresolution.nix +++ /dev/null @@ -1,11 +0,0 @@ -{pkgs, ...}: { - services.avahi = { - enable = true; - openFirewall = true; - }; - system.nssModules = pkgs.lib.optional true pkgs.nssmdns; - system.nssDatabases.hosts = pkgs.lib.optionals true (pkgs.lib.mkMerge [ - (pkgs.lib.mkBefore ["mdns4_minimal [NOTFOUND=return]"]) # before resolution - (pkgs.lib.mkAfter ["mdns4"]) # after dns - ]); -} diff --git a/modules/nixos/nix-ld.nix b/modules/nixos/nix-ld.nix deleted file mode 100644 index ee62925..0000000 --- a/modules/nixos/nix-ld.nix +++ /dev/null @@ -1,62 +0,0 @@ -{pkgs, ...}: { - # Enable nix ld - programs.nix-ld.enable = true; - - programs.nix-ld.libraries = with pkgs; [ - alsa-lib - at-spi2-atk - at-spi2-core - atk - readline - cairo - cups - curl - dbus - expat - fontconfig - freetype - fuse3 - gdk-pixbuf - glib - gtk3 - icu - libGL - libappindicator-gtk3 - libdrm - libglvnd - libnotify - libpulseaudio - libunwind - libusb1 - libuuid - libxkbcommon - libxml2 - mesa - nspr - nss - openssl - pango - pipewire - stdenv.cc.cc - stdenv.cc.cc.lib - systemd - vulkan-loader - xorg.libX11 - xorg.libXScrnSaver - xorg.libXcomposite - xorg.libXcursor - xorg.libXdamage - xorg.libXext - xorg.libXfixes - xorg.libXi - xorg.libXrandr - xorg.libXrender - xorg.libXtst - xorg.libxcb - xorg.libxkbfile - xorg.libxshmfence - fzf - zlib - libgit2 - ]; -} diff --git a/modules/nixos/nvidia.nix b/modules/nixos/nvidia.nix deleted file mode 100644 index 289c7a3..0000000 --- a/modules/nixos/nvidia.nix +++ /dev/null @@ -1,50 +0,0 @@ -{config, ...}: { - #nvidia - hardware.opengl = { - enable = true; - driSupport32Bit = true; - }; - - services.xserver.videoDrivers = ["nvidia"]; - - hardware.nvidia = { - # Modesetting is required. - modesetting.enable = true; - - # Nvidia power management. Experimental, and can cause sleep/suspend to fail. - # Enable this if you have graphical corruption issues or application crashes after waking - # up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead - # of just the bare essentials. - powerManagement.enable = false; - - # Fine-grained power management. Turns off GPU when not in use. - # Experimental and only works on modern Nvidia GPUs (Turing or newer). - powerManagement.finegrained = false; - - # Use the NVidia open source kernel module (not to be confused with the - # independent third-party "nouveau" open source driver). - # Support is limited to the Turing and later architectures. Full list of - # supported GPUs is at: - # https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus - # Only available from driver 515.43.04+ - # Currently alpha-quality/buggy, so false is currently the recommended setting. - open = false; - - # Enable the Nvidia settings menu, - # accessible via `nvidia-settings`. - nvidiaSettings = true; - - # Optionally, you may need to select the appropriate driver version for your specific GPU. - package = config.boot.kernelPackages.nvidiaPackages.stable; - - prime = { - intelBusId = "PCI:0:2:0"; - nvidiaBusId = "PCI:1:0:0"; - - offload = { - enable = true; - enableOffloadCmd = true; - }; - }; - }; -} diff --git a/modules/nixos/services.nix b/modules/nixos/services.nix deleted file mode 100644 index 87d32db..0000000 --- a/modules/nixos/services.nix +++ /dev/null @@ -1,11 +0,0 @@ -{...}: { - imports = [ - ./ssh.nix - ./sound.nix - ]; - - services.gvfs.enable = true; - services.gnome.gnome-keyring.enable = true; - services.libinput.enable = true; - services.printing.enable = true; -} diff --git a/modules/nixos/sound.nix b/modules/nixos/sound.nix deleted file mode 100644 index 3f0fd9d..0000000 --- a/modules/nixos/sound.nix +++ /dev/null @@ -1,16 +0,0 @@ -{...}: { - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - - lowLatency = { - enable = true; - # defaults (USES nix-gaming PIPEWIRE LOW LATENCY MODULE!) - quantum = 64; - rate = 48000; - }; - }; - hardware.pulseaudio.enable = false; -} diff --git a/modules/nixos/ssh.nix b/modules/nixos/ssh.nix deleted file mode 100644 index afe4d83..0000000 --- a/modules/nixos/ssh.nix +++ /dev/null @@ -1,12 +0,0 @@ -{...}: { - services.openssh = { - enable = true; - settings = { - KbdInteractiveAuthentication = false; - PermitRootLogin = "no"; - PasswordAuthentication = true; - UseDns = true; - X11Forwarding = false; - }; - }; -} diff --git a/modules/nixos/syncthing.nix b/modules/nixos/syncthing.nix deleted file mode 100644 index a8eba21..0000000 --- a/modules/nixos/syncthing.nix +++ /dev/null @@ -1,26 +0,0 @@ -{...}: {services.syncthing = { - enable = true; - user = "dv"; - dataDir = "/dv"; - configDir = "/dv/.config/syncthing"; - overrideDevices = true; - overrideFolders = true; - settings = { - devices = { - "truenas" = { - id = "2HEHVRP-6Z4FBIB-MULQ6Y2-XP2IW6Q-WVOVKOR-HSJBZ3O-RUN7DZI-SAM2SAA"; - autoAcceptFolders = true; - }; - }; - folders = { - "Explicit Sync" = { - path = "/dv/sync"; - devices = ["truenas"]; - }; - "zettelkasten" = { - path = "/dv/zet"; - devices = ["truenas"]; - }; - }; - }; - };} diff --git a/modules/nixos/users.nix b/modules/nixos/users.nix deleted file mode 100644 index 72fa1fd..0000000 --- a/modules/nixos/users.nix +++ /dev/null @@ -1,33 +0,0 @@ -{pkgs,...}: { - users.users.dv = { - uid = 1337; - initialPassword = "iamsonaughty."; - home = "/dv"; - createHome = true; - shell = pkgs.zsh; - openssh.authorizedKeys.keys = [ - (builtins.readFile ./id_user.pub) - ]; - isNormalUser = true; - extraGroups = [ - "wheel" - "networkmanager" - "audio" - "docker" - "input" - "libvirtd" - "plugdev" - "video" - "adbusers" - "uinput" - ]; - }; - - users.users.root = { - shell = pkgs.zsh; - extraGroups = []; - openssh.authorizedKeys.keys = [ - (builtins.readFile ./id_user.pub) - ]; - }; -} diff --git a/modules/nixos/virtualisation.nix b/modules/nixos/virtualisation.nix deleted file mode 100644 index 11394fb..0000000 --- a/modules/nixos/virtualisation.nix +++ /dev/null @@ -1,5 +0,0 @@ -{config, ...}: { - virtualisation.containers.cdi.dynamic.nvidia.enable = builtins.any (driver: driver == "nvidia") config.services.xserver.videoDrivers; - virtualisation.vmware.host.enable = true; - virtualisation.docker.enable = true; -} diff --git a/modules/nixos/zsh.nix b/modules/nixos/zsh.nix deleted file mode 100644 index 92f2e60..0000000 --- a/modules/nixos/zsh.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ -programs = { - less.enable = true; - - # default zsh config if not configured using home-manager - zsh = { - enable = true; - enableCompletion = true; - autosuggestions.enable = true; - promptInit = '' - PS1='%B%1~%b %(#.#.$): ' - ''; - }; - }; - environment.pathsToLink = ["/share/zsh"]; -} diff --git a/pkgs/disko.nix b/pkgs/disko.nix index 2e7898a..74ebf98 100644 --- a/pkgs/disko.nix +++ b/pkgs/disko.nix @@ -1,4 +1,5 @@ -pkgs: pkgs.writeShellScriptBin "disko" '' +pkgs: +pkgs.writeShellScriptBin "disko" '' cat >disko.nix < +``` +or all of them together: +```sh +nix flake update --commit-lock-file +``` diff --git a/waves.nix b/waves.nix deleted file mode 100644 index 862785c..0000000 --- a/waves.nix +++ /dev/null @@ -1,95 +0,0 @@ -{ - config, - lib, - pkgs, - outputs, - inputs, - ... -}: { - imports = [ - ./waves-hardware.nix - inputs.nix-gaming.nixosModules.pipewireLowLatency - ./modules/nixos/virtualisation.nix - ./modules/nixos/kanata.nix - ./modules/nixos/services.nix - ./modules/nixos/localnameresolution.nix - ./modules/nixos/syncthing.nix - ./modules/nixos/users.nix - ./modules/nixos/adb.nix - ./modules/nixos/console.nix - ./modules/nixos/fonts.nix - ./modules/nixos/nvidia.nix - ./modules/nixos/gui.nix - ./modules/nixos/i18n.nix - ./modules/nixos/zsh.nix - ./modules/nixos/nix-ld.nix - ]; - - system.stateVersion = "24.05"; - - nixpkgs.config = { - allowUnfree = true; - cudaSupport = true; - }; - nixpkgs.overlays = [ - outputs.overlays.additions - outputs.overlays.modifications - outputs.overlays.unstable-packages - ]; - nix = let - flakeInputs = lib.filterAttrs (_: lib.isType "flake") inputs; - in { - settings = { - # Enable flakes and new 'nix' command - experimental-features = "nix-command flakes"; - # Opinionated: disable global registry - flake-registry = ""; - # Workaround for https://github.com/NixOS/nix/issues/9574 - nix-path = config.nix.nixPath; - # allowUnfree = true; - auto-optimise-store = true; - builders-use-substitutes = true; - keep-derivations = true; - keep-outputs = true; - trusted-users = ["root" "@wheel"]; - - substituters = [ - "https://cache.nixos.org" - "https://nix-community.cachix.org" - ]; - - trusted-public-keys = [ - "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" - "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" - ]; - }; - # Opinionated: disable channels - channel.enable = false; - - # Opinionated: make flake registry and nix path match flake inputs - registry = lib.mapAttrs (_: flake: {inherit flake;}) flakeInputs; - nixPath = lib.mapAttrsToList (n: _: "${n}=flake:${n}") flakeInputs; - }; - - environment.systemPackages = with pkgs; [ - unstable.neovim - python3 - fuse3 - floorp - localsend - parsec-bin - ]; - - # security - security = { - sudo.wheelNeedsPassword = false; # don't ask password for wheel group, disk is encrypted with a secure password & ssh auth with password is disabled! - # enable trusted platform module 2 support - tpm2.enable = true; - }; - - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - networking.hostName = "waves"; - networking.networkmanager.enable = true; - boot.supportedFilesystems = ["ntfs"]; -}