pushing for review
This commit is contained in:
parent
786ca732aa
commit
dd67b2592c
72 changed files with 1142 additions and 1447 deletions
4
TODO.md
4
TODO.md
|
|
@ -1,4 +0,0 @@
|
||||||
# TODO:
|
|
||||||
- [ ] Add biome support to helix
|
|
||||||
- [ ] Add tailwind support to helix
|
|
||||||
- [ ] Build built in devenvs with direnv
|
|
||||||
36
extract.sh
36
extract.sh
|
|
@ -1,36 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
function extract {
|
|
||||||
if [ -z "$1" ]; then
|
|
||||||
# display usage if no parameters given
|
|
||||||
echo "Usage: extract <path/file_name>.<zip|rar|bz2|gz|tar|tbz2|tgz|Z|7z|xz|ex|tar.bz2|tar.gz|tar.xz>"
|
|
||||||
echo " extract <path/file_name_1.ext> [path/file_name_2.ext] [path/file_name_3.ext]"
|
|
||||||
else
|
|
||||||
for n in "$@"
|
|
||||||
do
|
|
||||||
if [ -f "$n" ] ; then
|
|
||||||
case "${n%,}" in
|
|
||||||
*.tar.bz2|*.tar.gz|*.tar.xz|*.tbz2|*.tgz|*.txz|*.tar)
|
|
||||||
tar xvf "$n" ;;
|
|
||||||
*.lzma) unlzma ./"$n" ;;
|
|
||||||
*.bz2) bunzip2 ./"$n" ;;
|
|
||||||
*.rar) unrar x -ad ./"$n" ;;
|
|
||||||
*.gz) gunzip ./"$n" ;;
|
|
||||||
*.zip) unzip ./"$n" ;;
|
|
||||||
*.z) uncompress ./"$n" ;;
|
|
||||||
*.7z|*.arj|*.cab|*.chm|*.deb|*.dmg|*.iso|*.lzh|*.msi|*.rpm|*.udf|*.wim|*.xar)
|
|
||||||
7z x ./"$n" ;;
|
|
||||||
*.xz) unxz ./"$n" ;;
|
|
||||||
*.exe) cabextract ./"$n" ;;
|
|
||||||
*)
|
|
||||||
echo "extract: '$n' - unknown archive method"
|
|
||||||
return 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
else
|
|
||||||
echo "'$n' - file does not exist"
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
343
flake.lock
generated
343
flake.lock
generated
|
|
@ -8,11 +8,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1701386725,
|
"lastModified": 1711407199,
|
||||||
"narHash": "sha256-w4aBlMYh9Y8co1V80m5LzEKMijUJ7CBTq209WbqVwUU=",
|
"narHash": "sha256-A/nB4j3JHL51ztlMQdfKw6y8tUJJzai3bLsZUEEaBxY=",
|
||||||
"owner": "ipetkov",
|
"owner": "ipetkov",
|
||||||
"repo": "crane",
|
"repo": "crane",
|
||||||
"rev": "8b9bad9b30bd7a9ed08782e64846b7485f9d0a38",
|
"rev": "7e468a455506f2e65550e08dfd45092f0857a009",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -23,15 +23,15 @@
|
||||||
},
|
},
|
||||||
"devshell": {
|
"devshell": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_4",
|
"flake-utils": "flake-utils",
|
||||||
"systems": "systems_2"
|
"nixpkgs": "nixpkgs_4"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1700815693,
|
"lastModified": 1711099426,
|
||||||
"narHash": "sha256-JtKZEQUzosrCwDsLgm+g6aqbP1aseUl1334OShEAS3s=",
|
"narHash": "sha256-HzpgM/wc3aqpnHJJ2oDqPBkNsqWbW0WfWUO8lKu8nGk=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "devshell",
|
"repo": "devshell",
|
||||||
"rev": "7ad1c417c87e98e56dcef7ecd0e0a2f2e5669d51",
|
"rev": "2d45b54ca4a183f2fdcf4b19c895b64fbf620ee8",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -47,11 +47,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1679643957,
|
"lastModified": 1712612224,
|
||||||
"narHash": "sha256-umr+j/0b3DXQO4VnhRwAJYS0Y2fW64I+ydHnZqpN/Pc=",
|
"narHash": "sha256-Tv4C8OSPVmm4LbpJGLFSODyvJy6DqrisEGPCQdNVOeY=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "disko",
|
"repo": "disko",
|
||||||
"rev": "eb5def310c7331545e72090b4cda6cb0255b870d",
|
"rev": "79eab0e82cb126bf4ac170f44af82479f0895ab5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -65,11 +65,11 @@
|
||||||
"nixpkgs-lib": "nixpkgs-lib"
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1698882062,
|
"lastModified": 1709336216,
|
||||||
"narHash": "sha256-HkhafUayIqxXyHH1X8d9RDl1M2CkFgZLjKD3MzabiEo=",
|
"narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "8c9fa2545007b49a5db5f650ae91f227672c3877",
|
"rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -78,6 +78,24 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"flake-utils": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems_2"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1701680307,
|
||||||
|
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
|
@ -85,11 +103,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1706981411,
|
"lastModified": 1712386041,
|
||||||
"narHash": "sha256-cLbLPTL1CDmETVh4p0nQtvoF+FSEjsnJTFpTxhXywhQ=",
|
"narHash": "sha256-dA82pOMQNnCJMAsPG7AXG35VmCSMZsJHTFlTHizpKWQ=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "652fda4ca6dafeb090943422c34ae9145787af37",
|
"rev": "d6bb9f934f2870e5cbc5b94c79e9db22246141ff",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -104,11 +122,11 @@
|
||||||
"nixpkgs": "nixpkgs_5"
|
"nixpkgs": "nixpkgs_5"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1701071203,
|
"lastModified": 1711554349,
|
||||||
"narHash": "sha256-lQywA7QU/vzTdZ1apI0PfgCWNyQobXUYghVrR5zuIeM=",
|
"narHash": "sha256-RypwcWEIFePBI0Hubfj4chanbM/G2yzJzC6wgz+dmS4=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "db1878f013b52ba5e4034db7c1b63e8d04173a86",
|
"rev": "179f6acaf7c068c7870542cdae72afec9427a5b0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -117,20 +135,79 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hyprcursor": {
|
||||||
|
"inputs": {
|
||||||
|
"hyprlang": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprlang"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1712434681,
|
||||||
|
"narHash": "sha256-qwmR2p1oc48Bj7gUDvb1oGL19Rjs2PmEmk4ChV01A5o=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprcursor",
|
||||||
|
"rev": "818d8c4b69e0997483d60b75f701fe14b561a7a3",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprcursor",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hyprcursor_2": {
|
||||||
|
"inputs": {
|
||||||
|
"hyprlang": "hyprlang_2",
|
||||||
|
"nixpkgs": [
|
||||||
|
"xremap",
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"xremap",
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1711035742,
|
||||||
|
"narHash": "sha256-5vvhCSUGG9TA2G1eIRgokuYizhRnZu0ZbcU1MXfHsUE=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprcursor",
|
||||||
|
"rev": "6a92473237f430399a417e1c2da9d7fcd4970086",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprcursor",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"hyprland": {
|
"hyprland": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"hyprcursor": "hyprcursor",
|
||||||
"hyprland-protocols": "hyprland-protocols",
|
"hyprland-protocols": "hyprland-protocols",
|
||||||
|
"hyprlang": "hyprlang",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"systems": "systems",
|
"systems": "systems",
|
||||||
"wlroots": "wlroots",
|
"wlroots": "wlroots",
|
||||||
"xdph": "xdph"
|
"xdph": "xdph"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1692123043,
|
"lastModified": 1712739000,
|
||||||
"narHash": "sha256-6YoTjAZgtJb9OzKrZxtLxjfYiGWSqMmh1Wyh9dvwXn8=",
|
"narHash": "sha256-nHx8lUK5hiiDlvFOmqwuh3bw9yCw9w5zR7gI2+pZMvk=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "Hyprland",
|
"repo": "Hyprland",
|
||||||
"rev": "4986d74ef201171a930c312a8e3b72a22d9b84ee",
|
"rev": "303b9956b2ae15508b09dffae602550ca17e6539",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -193,18 +270,20 @@
|
||||||
},
|
},
|
||||||
"hyprland_2": {
|
"hyprland_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"hyprcursor": "hyprcursor_2",
|
||||||
"hyprland-protocols": "hyprland-protocols_2",
|
"hyprland-protocols": "hyprland-protocols_2",
|
||||||
|
"hyprlang": "hyprlang_3",
|
||||||
"nixpkgs": "nixpkgs_6",
|
"nixpkgs": "nixpkgs_6",
|
||||||
"systems": "systems_3",
|
"systems": "systems_4",
|
||||||
"wlroots": "wlroots_2",
|
"wlroots": "wlroots_2",
|
||||||
"xdph": "xdph_2"
|
"xdph": "xdph_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1701370414,
|
"lastModified": 1711557008,
|
||||||
"narHash": "sha256-Q7A8BWWS1YndiNaAKM0IP73SGKJiQDfOdZAIdTLGNj8=",
|
"narHash": "sha256-fBrJJSRbeRf2lZUsaij96qhDX9JpDHF0uHD69Z6Ca/k=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "Hyprland",
|
"repo": "Hyprland",
|
||||||
"rev": "b394c1695c05cf3b2133a473aa459d4cd750911b",
|
"rev": "93d05114716e847c37f49d3cc2d0c5cb01d06a24",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -213,13 +292,89 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hyprlang": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1711671891,
|
||||||
|
"narHash": "sha256-C/Wwsy/RLxHP1axFFl+AnwJRWfd8gxDKKoa8nt8Qk3c=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprlang",
|
||||||
|
"rev": "c1402612146ba06606ebf64963a02bc1efe11e74",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprlang",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hyprlang_2": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"xremap",
|
||||||
|
"hyprland",
|
||||||
|
"hyprcursor",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": "systems_3"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1709914708,
|
||||||
|
"narHash": "sha256-bR4o3mynoTa1Wi4ZTjbnsZ6iqVcPGriXp56bZh5UFTk=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprlang",
|
||||||
|
"rev": "a685493fdbeec01ca8ccdf1f3655c044a8ce2fe2",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprlang",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hyprlang_3": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"xremap",
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"xremap",
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1710960526,
|
||||||
|
"narHash": "sha256-tt0UgVKWeLQ+tFzvqrm4uAZbzONwdGshpfiLHAQ1P2c=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprlang",
|
||||||
|
"rev": "a2f39421144d42541c057be235154ce21b76c0f6",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprlang",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1679765008,
|
"lastModified": 1712760404,
|
||||||
"narHash": "sha256-VCkg/wC2e882suYDS5PDAemaMLYSOdFm4fsx2gowMR0=",
|
"narHash": "sha256-4zhaEW1nB+nGbCNMjOggWeY5nXs/H0Y71q0+h+jdxoU=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "f38f9a4c9b2b6f89a5778465e0afd166a8300680",
|
"rev": "e1c4bac14beb8c409d0534382cf967171706b9d9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -231,11 +386,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1691654369,
|
"lastModified": 1712439257,
|
||||||
"narHash": "sha256-gSILTEx1jRaJjwZxRlnu3ZwMn1FVNk80qlwiCX8kmpo=",
|
"narHash": "sha256-aSpiNepFOMk9932HOax0XwNxbA38GOUVOiXfUVPOrck=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "ce5e4a6ef2e59d89a971bc434ca8ca222b9c7f5e",
|
"rev": "ff0dbd94265ac470dda06a657d5fe49de93b4599",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -248,11 +403,11 @@
|
||||||
"nixpkgs-lib": {
|
"nixpkgs-lib": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"dir": "lib",
|
"dir": "lib",
|
||||||
"lastModified": 1698611440,
|
"lastModified": 1709237383,
|
||||||
"narHash": "sha256-jPjHjrerhYDy3q9+s5EAsuhyhuknNfowY6yt6pjn9pc=",
|
"narHash": "sha256-cy6ArO4k5qTx+l5o+0mL9f5fa86tYUX3ozE1S+Txlds=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "0cbe9f69c234a7700596e943bfae7ef27a31b735",
|
"rev": "1536926ef5621b09bba54035ae2bb6d806d72ac8",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -265,27 +420,27 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1679748960,
|
"lastModified": 1712437997,
|
||||||
"narHash": "sha256-BP8XcYHyj1NxQi04RpyNW8e7KiXSoI+Fy1tXIK2GfdA=",
|
"narHash": "sha256-g0whLLwRvgO2FsyhY8fNk+TWenS3jg5UdlWL4uqgFeo=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "da26ae9f6ce2c9ab380c0f394488892616fc5a6a",
|
"rev": "e38d7cb66ea4f7a0eb6681920615dfcc30fc2920",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"ref": "release-22.11",
|
"ref": "release-23.11",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1707650010,
|
"lastModified": 1712588820,
|
||||||
"narHash": "sha256-dOhphIA4MGrH4ElNCy/OlwmN24MsnEqFjRR6+RY7jZw=",
|
"narHash": "sha256-y31s5idk3jMJMAVE4Ud9AdI7HT3CgTAeMTJ0StqKN7Y=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "809cca784b9f72a5ad4b991e0e7bcf8890f9c3a6",
|
"rev": "d272ca50d1f7424fbfcd1e6f1c9e01d92f6da167",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -297,11 +452,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1679734080,
|
"lastModified": 1712420723,
|
||||||
"narHash": "sha256-z846xfGLlon6t9lqUzlNtBOmsgQLQIZvR6Lt2dImk1M=",
|
"narHash": "sha256-VnG0Eu394Ga2FCe8Q66m6OEQF8iAqjDYsjmtl+N2omk=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "dbf5322e93bcc6cfc52268367a8ad21c09d76fea",
|
"rev": "9e7f26f82acb057498335362905fde6fea4ca50a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -313,11 +468,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1677383253,
|
"lastModified": 1704161960,
|
||||||
"narHash": "sha256-UfpzWfSxkfXHnb4boXZNaKsAcUrZT9Hw+tao1oZxd08=",
|
"narHash": "sha256-QGua89Pmq+FBAro8NriTuoO/wNaUtugt29/qqA8zeeM=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "9952d6bc395f5841262b006fbace8dd7e143b634",
|
"rev": "63143ac2c9186be6d9da6035fa22620018c85932",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -329,11 +484,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_5": {
|
"nixpkgs_5": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1700794826,
|
"lastModified": 1710806803,
|
||||||
"narHash": "sha256-RyJTnTNKhO0yqRpDISk03I/4A67/dp96YRxc86YOPgU=",
|
"narHash": "sha256-qrxvLS888pNJFwJdK+hf1wpRCSQcqA6W5+Ox202NDa0=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "5a09cb4b393d58f9ed0d9ca1555016a8543c2ac8",
|
"rev": "b06025f1533a1e07b6db3e75151caa155d1c7eb3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -345,11 +500,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_6": {
|
"nixpkgs_6": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1700612854,
|
"lastModified": 1711001935,
|
||||||
"narHash": "sha256-yrQ8osMD+vDLGFX7pcwsY/Qr5PUd6OmDMYJZzZi0+zc=",
|
"narHash": "sha256-URtGpHue7HHZK0mrHnSf8wJ6OmMKYSsoLmJybrOLFSQ=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "19cbff58383a4ae384dea4d1d0c823d72b49d614",
|
"rev": "20f77aa09916374aa3141cbc605c955626762c9a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -361,11 +516,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_7": {
|
"nixpkgs_7": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1701336116,
|
"lastModified": 1711401922,
|
||||||
"narHash": "sha256-kEmpezCR/FpITc6yMbAh4WrOCiT2zg5pSjnKrq51h5Y=",
|
"narHash": "sha256-QoQqXoj8ClGo0sqD/qWKFWezgEwUL0SUh37/vY2jNhc=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "f5c27c6136db4d76c30e533c20517df6864c46ee",
|
"rev": "07262b18b97000d16a4bdb003418bd2fb067a932",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -392,11 +547,11 @@
|
||||||
"nixpkgs-stable": "nixpkgs-stable"
|
"nixpkgs-stable": "nixpkgs-stable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1679799335,
|
"lastModified": 1712617241,
|
||||||
"narHash": "sha256-YrnDyftm0Mk4JLuw3sDBPNfSjk054N0dqQx8FW4JqDM=",
|
"narHash": "sha256-a4hbls4vlLRMciv62YrYT/Xs/3Cubce8WFHPUDWwzf8=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "4740f80ca6e756915aaaa0a9c5fbb61ba09cc145",
|
"rev": "538c114cfdf1f0458f507087b1dcf018ce1c0c4c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -450,22 +605,37 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"systems_4": {
|
||||||
|
"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"
|
||||||
|
}
|
||||||
|
},
|
||||||
"wlroots": {
|
"wlroots": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"host": "gitlab.freedesktop.org",
|
"host": "gitlab.freedesktop.org",
|
||||||
"lastModified": 1691073628,
|
"lastModified": 1709983277,
|
||||||
"narHash": "sha256-LlxE3o3UzRY7APYVLGNKM30DBMcDifCRIQiMVSbYLIc=",
|
"narHash": "sha256-wXWIJLd4F2JZeMaihWVDW/yYXCLEC8OpeNJZg9a9ly8=",
|
||||||
"owner": "wlroots",
|
"owner": "wlroots",
|
||||||
"repo": "wlroots",
|
"repo": "wlroots",
|
||||||
"rev": "c74f89d4f84bfed0284d3908aee5d207698c70c5",
|
"rev": "50eae512d9cecbf0b3b1898bb1f0b40fa05fe19b",
|
||||||
"type": "gitlab"
|
"type": "gitlab"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"host": "gitlab.freedesktop.org",
|
"host": "gitlab.freedesktop.org",
|
||||||
"owner": "wlroots",
|
"owner": "wlroots",
|
||||||
"repo": "wlroots",
|
"repo": "wlroots",
|
||||||
"rev": "c74f89d4f84bfed0284d3908aee5d207698c70c5",
|
"rev": "50eae512d9cecbf0b3b1898bb1f0b40fa05fe19b",
|
||||||
"type": "gitlab"
|
"type": "gitlab"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -473,18 +643,18 @@
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"host": "gitlab.freedesktop.org",
|
"host": "gitlab.freedesktop.org",
|
||||||
"lastModified": 1701368958,
|
"lastModified": 1709983277,
|
||||||
"narHash": "sha256-7kvyoA91etzVEl9mkA/EJfB6z/PltxX7Xc4gcr7/xlo=",
|
"narHash": "sha256-wXWIJLd4F2JZeMaihWVDW/yYXCLEC8OpeNJZg9a9ly8=",
|
||||||
"owner": "wlroots",
|
"owner": "wlroots",
|
||||||
"repo": "wlroots",
|
"repo": "wlroots",
|
||||||
"rev": "5d639394f3e83b01596dcd166a44a9a1a2583350",
|
"rev": "50eae512d9cecbf0b3b1898bb1f0b40fa05fe19b",
|
||||||
"type": "gitlab"
|
"type": "gitlab"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"host": "gitlab.freedesktop.org",
|
"host": "gitlab.freedesktop.org",
|
||||||
"owner": "wlroots",
|
"owner": "wlroots",
|
||||||
"repo": "wlroots",
|
"repo": "wlroots",
|
||||||
"rev": "5d639394f3e83b01596dcd166a44a9a1a2583350",
|
"rev": "50eae512d9cecbf0b3b1898bb1f0b40fa05fe19b",
|
||||||
"type": "gitlab"
|
"type": "gitlab"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -494,6 +664,10 @@
|
||||||
"hyprland",
|
"hyprland",
|
||||||
"hyprland-protocols"
|
"hyprland-protocols"
|
||||||
],
|
],
|
||||||
|
"hyprlang": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprlang"
|
||||||
|
],
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"hyprland",
|
"hyprland",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
|
|
@ -504,11 +678,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1691841170,
|
"lastModified": 1709299639,
|
||||||
"narHash": "sha256-RCTm1/MVWYPnReMgyp7tr2ogGYo/pvw38jZaFwemgPU=",
|
"narHash": "sha256-jYqJM5khksLIbqSxCLUUcqEgI+O2LdlSlcMEBs39CAU=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "xdg-desktop-portal-hyprland",
|
"repo": "xdg-desktop-portal-hyprland",
|
||||||
"rev": "57a3a41ba6b358109e4fc25c6a4706b5f7d93c6b",
|
"rev": "2d2fb547178ec025da643db57d40a971507b82fe",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -524,6 +698,11 @@
|
||||||
"hyprland",
|
"hyprland",
|
||||||
"hyprland-protocols"
|
"hyprland-protocols"
|
||||||
],
|
],
|
||||||
|
"hyprlang": [
|
||||||
|
"xremap",
|
||||||
|
"hyprland",
|
||||||
|
"hyprlang"
|
||||||
|
],
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"xremap",
|
"xremap",
|
||||||
"hyprland",
|
"hyprland",
|
||||||
|
|
@ -536,11 +715,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1700508250,
|
"lastModified": 1709299639,
|
||||||
"narHash": "sha256-X4o/mifI7Nhu0UKYlxx53wIC+gYDo3pVM9L2u3PE2bE=",
|
"narHash": "sha256-jYqJM5khksLIbqSxCLUUcqEgI+O2LdlSlcMEBs39CAU=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "xdg-desktop-portal-hyprland",
|
"repo": "xdg-desktop-portal-hyprland",
|
||||||
"rev": "eb120ff25265ecacd0fc13d7dab12131b60d0f47",
|
"rev": "2d2fb547178ec025da643db57d40a971507b82fe",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -560,11 +739,11 @@
|
||||||
"xremap": "xremap_2"
|
"xremap": "xremap_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1701816620,
|
"lastModified": 1712025160,
|
||||||
"narHash": "sha256-axgWrKpoV1T7KVbbT+3H/Q6mcBdUKylIz6ClFCMRxlA=",
|
"narHash": "sha256-L96ZF1Z+OxAta5XPmazFajflppflYw/y588SBWVGjAw=",
|
||||||
"owner": "xremap",
|
"owner": "xremap",
|
||||||
"repo": "nix-flake",
|
"repo": "nix-flake",
|
||||||
"rev": "5b264392686e6caee50c9b12cb290b7d0f23cf93",
|
"rev": "38c9a3c4264750f77151369f34590db259454df3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -576,16 +755,16 @@
|
||||||
"xremap_2": {
|
"xremap_2": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1701234505,
|
"lastModified": 1711574442,
|
||||||
"narHash": "sha256-7k6GsKDUBvhKL9JU/QkWO+IHvhaty1udOYP8fXKr9QY=",
|
"narHash": "sha256-RR8SgnlQX8Gz9qwO/wN5NvFWsEQ/vvNdmOxxFojri90=",
|
||||||
"owner": "k0kubun",
|
"owner": "k0kubun",
|
||||||
"repo": "xremap",
|
"repo": "xremap",
|
||||||
"rev": "97268d1d92d94609daddff1230c4ca77d54a84dd",
|
"rev": "53a6d0553d58b95777f066e4aeed05ec74c5eaed",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "k0kubun",
|
"owner": "k0kubun",
|
||||||
"ref": "v0.8.12",
|
"ref": "v0.8.18",
|
||||||
"repo": "xremap",
|
"repo": "xremap",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
97
flake.nix
97
flake.nix
|
|
@ -16,88 +16,21 @@
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
outputs = { self, nixpkgs, ... }@inputs: {
|
||||||
|
|
||||||
outputs = { self, home-manager, nixos-hardware, disko, nixpkgs, sops-nix, hyprland, xremap, ... }@inputs:
|
nixosConfigurations = {
|
||||||
let
|
katana = nixpkgs.lib.nixosSystem {
|
||||||
|
specialArgs = { inherit inputs; };
|
||||||
|
# Define the system type
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
pkgs = import nixpkgs {
|
homeManagerModules.default = ./home_manager/home-manager.nix;
|
||||||
inherit system;
|
# Define the modules for the configuration
|
||||||
config.allowUnfree = true;
|
|
||||||
};
|
|
||||||
defaultPackage.system = home-manager.defaultPackage.x86_64-linux;
|
|
||||||
defaultNixOptions = {
|
|
||||||
nix.settings.auto-optimise-store = true;
|
|
||||||
};
|
|
||||||
mkComputer = configurationNix: userName: extraModules: extraHomeModules: inputs.nixpkgs.lib.nixosSystem {
|
|
||||||
inherit system;
|
|
||||||
specialArgs = { inherit system inputs self pkgs nixos-hardware; };
|
|
||||||
modules = [
|
modules = [
|
||||||
#Secrets management
|
# Your configuration modules here. Example:
|
||||||
sops-nix.nixosModules.sops
|
./hosts/katana.nix
|
||||||
#Keybinding
|
./nixosModules/default.nix
|
||||||
xremap.nixosModules.default
|
];
|
||||||
#Machine config
|
};
|
||||||
configurationNix
|
};
|
||||||
defaultNixOptions
|
};
|
||||||
|
}
|
||||||
#User config
|
|
||||||
(./. + "/users/${userName}")
|
|
||||||
|
|
||||||
#Home manager
|
|
||||||
home-manager.nixosModules.home-manager
|
|
||||||
{
|
|
||||||
home-manager = {
|
|
||||||
useGlobalPkgs = true;
|
|
||||||
useUserPackages = true;
|
|
||||||
users."${userName}" = {
|
|
||||||
imports = [ (./. + "/users/${userName}/home.nix") ] ++ extraHomeModules;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
] ++ extraModules;
|
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
nixosConfigurations = {
|
|
||||||
katana = mkComputer
|
|
||||||
./machines/katana.nix #machine specific configuration
|
|
||||||
"speccon18" #default user
|
|
||||||
[
|
|
||||||
./modules/system/desktop-environments/tuigreet.nix
|
|
||||||
./modules/system/desktop-environments/hyprland.nix
|
|
||||||
./modules/system/desktop-environments/budgie.nix
|
|
||||||
./modules/system/desktop-environments/gnome.nix
|
|
||||||
./hosts/katana/default.nix
|
|
||||||
./hosts/katana/bluetooth.nix
|
|
||||||
./hosts/katana/networkd.nix
|
|
||||||
./hosts/katana/system-pkgs.nix
|
|
||||||
./modules/system/services/docker.nix
|
|
||||||
./modules/system/services/openssh.nix
|
|
||||||
# ./modules/system/services/syncthing.nix
|
|
||||||
./modules/system/services/tailscale.nix
|
|
||||||
./modules/system/nix-cli
|
|
||||||
] #extra modules to be loaded by nixos
|
|
||||||
[
|
|
||||||
hyprland.homeManagerModules.default
|
|
||||||
./modules/home-manager/hyprland.nix
|
|
||||||
./modules/home-manager/helix.nix
|
|
||||||
./modules/home-manager/alacritty.nix
|
|
||||||
./modules/home-manager/vscode.nix
|
|
||||||
./modules/home-manager/zsh.nix
|
|
||||||
./modules/home-manager/git.nix
|
|
||||||
./modules/home-manager/zoxide.nix
|
|
||||||
./modules/home-manager/ncspot.nix
|
|
||||||
./modules/home-manager/zellij.nix
|
|
||||||
./modules/home-manager/direnv.nix
|
|
||||||
./modules/home-manager/home-manager.nix
|
|
||||||
./modules/home-manager/starship.nix
|
|
||||||
./modules/home-manager/dconf-settings.nix
|
|
||||||
./modules/home-manager/syncthing.nix
|
|
||||||
./modules/home-manager/waybar.nix
|
|
||||||
./modules/home-manager/rofi.nix
|
|
||||||
]; #extra modules to be loaded by home-manager
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -1,27 +0,0 @@
|
||||||
{ modulesPath, config, pkgs, lib, self, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
# Sets the default version to track for system-pkgs
|
|
||||||
system.stateVersion = "22.11";
|
|
||||||
# Set the default timezone
|
|
||||||
time.timeZone = lib.mkDefault "America/Detroit";
|
|
||||||
# Allow non opensource software to be installed
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
|
||||||
# NixOS Settings
|
|
||||||
nix = {
|
|
||||||
# Sets flakes to unstable track instead of stable #
|
|
||||||
package = pkgs.nixUnstable; # or versioned attributes like nix_2_4
|
|
||||||
# Enable flakes and nix-command
|
|
||||||
extraOptions = ''experimental-features = nix-command flakes'';
|
|
||||||
# Auto maintainence
|
|
||||||
settings.auto-optimise-store = lib.mkDefault true;
|
|
||||||
# Prevent tampering of the pkgstore
|
|
||||||
readOnlyStore = true;
|
|
||||||
# Garbage collection
|
|
||||||
gc = {
|
|
||||||
automatic = true;
|
|
||||||
dates = "weekly";
|
|
||||||
options = "--delete-older-than 7d";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
{ modulesPath, config, pkgs, lib, self, ... }:
|
|
||||||
{
|
|
||||||
networking = {
|
|
||||||
hostName = "creatorforge"; # Define your hostname.
|
|
||||||
useDHCP = lib.mkForce true;
|
|
||||||
firewall = {
|
|
||||||
enable = true;
|
|
||||||
allowedTCPPorts = [];
|
|
||||||
allowedUDPPorts = [];
|
|
||||||
checkReversePath = "loose";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,29 +0,0 @@
|
||||||
{ modulesPath, config, pkgs, lib, self, ... }:
|
|
||||||
{
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
ripgrep
|
|
||||||
tree
|
|
||||||
cargo
|
|
||||||
feh
|
|
||||||
unrar
|
|
||||||
unzip
|
|
||||||
gzip
|
|
||||||
p7zip
|
|
||||||
bzip2
|
|
||||||
dconf2nix
|
|
||||||
rustc
|
|
||||||
bat
|
|
||||||
exa
|
|
||||||
mdbook
|
|
||||||
uutils-coreutils
|
|
||||||
htop
|
|
||||||
zsh
|
|
||||||
tailscale
|
|
||||||
dig #dns lookup
|
|
||||||
rage #file encryption
|
|
||||||
age-plugin-yubikey #plugin for rage to manage yubi-2fa
|
|
||||||
sops #file based secrets operations
|
|
||||||
direnv #used for development environments
|
|
||||||
python39
|
|
||||||
];
|
|
||||||
}
|
|
||||||
145
hosts/katana.nix
Normal file
145
hosts/katana.nix
Normal file
|
|
@ -0,0 +1,145 @@
|
||||||
|
{ modulesPath, config, pkgs, lib, self, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
system.stateVersion = "23.05";
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
# Hardware
|
||||||
|
hardware = {
|
||||||
|
cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
pulseaudio.enable = false;
|
||||||
|
bluetooth = {
|
||||||
|
enable = true; # enables support for Bluetooth
|
||||||
|
powerOnBoot = true; # powers up the default Bluetooth controller on boot
|
||||||
|
settings = {
|
||||||
|
General = {
|
||||||
|
Enable = "Source,Sink,Media,Socket";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Boot
|
||||||
|
boot = {
|
||||||
|
loader = {
|
||||||
|
systemd-boot.enable = true;
|
||||||
|
efi.canTouchEfiVariables = true;
|
||||||
|
};
|
||||||
|
initrd = {
|
||||||
|
availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" ];
|
||||||
|
kernelModules = [ ];
|
||||||
|
};
|
||||||
|
kernelModules = [ "kvm-intel" ];
|
||||||
|
extraModulePackages = [ ];
|
||||||
|
# Prevent tampering of the pkgstore
|
||||||
|
readOnlyNixStore = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems = {
|
||||||
|
"/" = {
|
||||||
|
device = "/dev/disk/by-uuid/55c746b3-b9dc-4c9b-ab56-de68a561f9a3";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
"/boot" = {
|
||||||
|
device = "/dev/disk/by-uuid/0C59-9996";
|
||||||
|
fsType = "vfat";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [ ];
|
||||||
|
|
||||||
|
# Networking
|
||||||
|
networking = {
|
||||||
|
hostName = "katana"; # Define your hostname.
|
||||||
|
networkmanager.enable = true; #Enable Network Manager
|
||||||
|
firewall = {
|
||||||
|
checkReversePath = "loose";
|
||||||
|
allowedTCPPorts = [ ];
|
||||||
|
allowedUDPPorts = [ ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Sound
|
||||||
|
sound.enable = true;
|
||||||
|
|
||||||
|
# Localization
|
||||||
|
time.timeZone = "America/Detroit";
|
||||||
|
i18n = {
|
||||||
|
defaultLocale = "en_US.UTF-8";
|
||||||
|
extraLocaleSettings = {
|
||||||
|
LC_ADDRESS = "en_US.UTF-8";
|
||||||
|
LC_IDENTIFICATION = "en_US.UTF-8";
|
||||||
|
LC_MEASUREMENT = "en_US.UTF-8";
|
||||||
|
LC_MONETARY = "en_US.UTF-8";
|
||||||
|
LC_NAME = "en_US.UTF-8";
|
||||||
|
LC_NUMERIC = "en_US.UTF-8";
|
||||||
|
LC_PAPER = "en_US.UTF-8";
|
||||||
|
LC_TELEPHONE = "en_US.UTF-8";
|
||||||
|
LC_TIME = "en_US.UTF-8";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Services.
|
||||||
|
services = {
|
||||||
|
blueman.enable = true;
|
||||||
|
printing.enable = true;
|
||||||
|
xserver = {
|
||||||
|
layout = "us";
|
||||||
|
xkbVariant = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Package Manager
|
||||||
|
nixpkgs = {
|
||||||
|
config.allowUnfree = true;
|
||||||
|
hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
};
|
||||||
|
|
||||||
|
nix = {
|
||||||
|
# Sets flakes to unstable track instead of stable #
|
||||||
|
package = pkgs.nixUnstable; # or versioned attributes like nix_2_4
|
||||||
|
# Enable flakes and nix-command
|
||||||
|
extraOptions = ''experimental-features = nix-command flakes'';
|
||||||
|
# Auto maintainence
|
||||||
|
settings.auto-optimise-store = lib.mkDefault true;
|
||||||
|
# Garbage collection
|
||||||
|
gc = {
|
||||||
|
automatic = true;
|
||||||
|
dates = "weekly";
|
||||||
|
options = "--delete-older-than 7d";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
gparted
|
||||||
|
bluez
|
||||||
|
blueman
|
||||||
|
nerdfonts
|
||||||
|
home-manager
|
||||||
|
pkg-config
|
||||||
|
ripgrep
|
||||||
|
openssl
|
||||||
|
tree
|
||||||
|
eza
|
||||||
|
htop
|
||||||
|
zsh
|
||||||
|
dig #dns lookup
|
||||||
|
rage #file encryption
|
||||||
|
age-plugin-yubikey #plugin for rage to manage yubi-2fa
|
||||||
|
sops #file based secrets operations
|
||||||
|
direnv #used for development environments
|
||||||
|
gcc
|
||||||
|
bottom
|
||||||
|
felix-fm
|
||||||
|
zulip
|
||||||
|
vscode
|
||||||
|
];
|
||||||
|
|
||||||
|
# Fonts
|
||||||
|
fonts.packages = with pkgs; [
|
||||||
|
(nerdfonts.override { fonts = [ "SourceCodePro" "DroidSansMono" ]; })
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
{config, pkgs, ... }:
|
|
||||||
{
|
|
||||||
hardware.bluetooth = {
|
|
||||||
enable = true; # enables support for Bluetooth
|
|
||||||
powerOnBoot = true; # powers up the default Bluetooth controller on boot
|
|
||||||
settings = {
|
|
||||||
General = {
|
|
||||||
Enable = "Source,Sink,Media,Socket";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
services.blueman.enable = true;
|
|
||||||
}
|
|
||||||
|
|
@ -1,72 +0,0 @@
|
||||||
{ modulesPath, config, pkgs, lib, self, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
system.stateVersion = "23.05";
|
|
||||||
|
|
||||||
# Allow the use of unfree packages
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
|
||||||
|
|
||||||
# Sound
|
|
||||||
sound.enable = true;
|
|
||||||
hardware.pulseaudio.enable = false;
|
|
||||||
security.rtkit.enable = true;
|
|
||||||
# Localization
|
|
||||||
time.timeZone = "America/Detroit";
|
|
||||||
i18n = {
|
|
||||||
defaultLocale = "en_US.UTF-8";
|
|
||||||
extraLocaleSettings = {
|
|
||||||
LC_ADDRESS = "en_US.UTF-8";
|
|
||||||
LC_IDENTIFICATION = "en_US.UTF-8";
|
|
||||||
LC_MEASUREMENT = "en_US.UTF-8";
|
|
||||||
LC_MONETARY = "en_US.UTF-8";
|
|
||||||
LC_NAME = "en_US.UTF-8";
|
|
||||||
LC_NUMERIC = "en_US.UTF-8";
|
|
||||||
LC_PAPER = "en_US.UTF-8";
|
|
||||||
LC_TELEPHONE = "en_US.UTF-8";
|
|
||||||
LC_TIME = "en_US.UTF-8";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable Services.
|
|
||||||
services = {
|
|
||||||
printing.enable = true;
|
|
||||||
xserver = {
|
|
||||||
layout = "us";
|
|
||||||
xkbVariant = "";
|
|
||||||
};
|
|
||||||
pipewire = {
|
|
||||||
enable = true;
|
|
||||||
alsa = {
|
|
||||||
enable = true;
|
|
||||||
support32Bit = true;
|
|
||||||
};
|
|
||||||
pulse.enable = true;
|
|
||||||
jack.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
nix = {
|
|
||||||
# Sets flakes to unstable track instead of stable #
|
|
||||||
package = pkgs.nixUnstable; # or versioned attributes like nix_2_4
|
|
||||||
# Enable flakes and nix-command
|
|
||||||
extraOptions = ''experimental-features = nix-command flakes'';
|
|
||||||
# Auto maintainence
|
|
||||||
settings.auto-optimise-store = lib.mkDefault true;
|
|
||||||
# Garbage collection
|
|
||||||
gc = {
|
|
||||||
automatic = true;
|
|
||||||
dates = "weekly";
|
|
||||||
options = "--delete-older-than 7d";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
speccon18 = {
|
|
||||||
desktop = {
|
|
||||||
hyprland.enable = false;
|
|
||||||
gnome.enable = false;
|
|
||||||
budgie.enable = true;
|
|
||||||
displayManager.tuigreet.enable = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
fonts.packages = with pkgs; [
|
|
||||||
(nerdfonts.override { fonts = [ "SourceCodePro" "DroidSansMono" ]; })
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
||||||
|
|
||||||
{ modulesPath, config, pkgs, lib, self, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
networking = {
|
|
||||||
hostName = "katana"; # Define your hostname.
|
|
||||||
networkmanager.enable = true; #Enable Network Manager
|
|
||||||
firewall = {
|
|
||||||
checkReversePath = "loose";
|
|
||||||
allowedTCPPorts = [8081];
|
|
||||||
allowedUDPPorts = [
|
|
||||||
8081
|
|
||||||
2053
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
{ modulesPath, config, pkgs, lib, self, ... }:
|
|
||||||
{
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
gparted
|
|
||||||
bluez
|
|
||||||
blueman
|
|
||||||
nerdfonts
|
|
||||||
home-manager
|
|
||||||
pkg-config
|
|
||||||
ripgrep
|
|
||||||
openssl
|
|
||||||
tree
|
|
||||||
eza
|
|
||||||
htop
|
|
||||||
zsh
|
|
||||||
dig #dns lookup
|
|
||||||
rage #file encryption
|
|
||||||
age-plugin-yubikey #plugin for rage to manage yubi-2fa
|
|
||||||
sops #file based secrets operations
|
|
||||||
direnv #used for development environments
|
|
||||||
python311Packages.pip
|
|
||||||
python311
|
|
||||||
python311Packages.pygithub
|
|
||||||
gcc
|
|
||||||
bottom
|
|
||||||
felix-fm
|
|
||||||
gitui
|
|
||||||
spotify
|
|
||||||
zulip
|
|
||||||
vscode
|
|
||||||
pkgs.python311Packages.python-kasa
|
|
||||||
];
|
|
||||||
}
|
|
||||||
20
install.sh
20
install.sh
|
|
@ -1,20 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
if [ $# -ne 3 ]; then
|
|
||||||
echo \
|
|
||||||
"Usage:
|
|
||||||
\$1 Disko Partiton Scheme
|
|
||||||
- This pulls from existing paritions located in ./modules/disko/ inside the repo
|
|
||||||
\$2 Disk to Partition
|
|
||||||
- This script can and will destro data, please do be careful
|
|
||||||
\$3 Target system flake
|
|
||||||
- These can be found via running nix show.
|
|
||||||
"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
nix-env -iA nixos.git
|
|
||||||
git clone https://git.skdevstudios.cloud/specCon18/nixos-config.git
|
|
||||||
sudo nix run github:nix-community/disko -- --mode zap_create_mount /modules/disko/"$1" --arg disks '[ "'"$2"'" ]'
|
|
||||||
nixos-generate-config --no-filesystems --root /mnt
|
|
||||||
nixos-install --flake ./#"$3"
|
|
||||||
|
|
@ -1,39 +0,0 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
|
||||||
# and may be overwritten by future invocations. Please make changes
|
|
||||||
# to /etc/nixos/configuration.nix instead.
|
|
||||||
{ config, lib, pkgs, modulesPath, disko, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
|
||||||
];
|
|
||||||
boot = {
|
|
||||||
initrd = {
|
|
||||||
availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ];
|
|
||||||
kernelModules = [ "dm-snapshot" ];
|
|
||||||
luks.devices = {
|
|
||||||
crypted = {
|
|
||||||
device = "/dev/nvme0n1p3";
|
|
||||||
preLVM = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
kernelModules = [ "kvm-intel" ];
|
|
||||||
kernelParams = [ "acpi_osi=linux" ];
|
|
||||||
extraModulePackages = [ ];
|
|
||||||
loader = {
|
|
||||||
efi.canTouchEfiVariables = true;
|
|
||||||
systemd-boot = {
|
|
||||||
enable = true;
|
|
||||||
configurationLimit = 10;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
disko.devices = import ../modules/system/disko/luks-lvm.nix {
|
|
||||||
disks = [ "/dev/nvme0n1" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,44 +0,0 @@
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
|
||||||
];
|
|
||||||
|
|
||||||
boot = {
|
|
||||||
loader = {
|
|
||||||
systemd-boot.enable = true;
|
|
||||||
efi.canTouchEfiVariables = true;
|
|
||||||
};
|
|
||||||
initrd = {
|
|
||||||
availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" ];
|
|
||||||
kernelModules = [ ];
|
|
||||||
};
|
|
||||||
kernelModules = [ "kvm-intel" ];
|
|
||||||
extraModulePackages = [ ];
|
|
||||||
# Prevent tampering of the pkgstore
|
|
||||||
readOnlyNixStore = true;
|
|
||||||
};
|
|
||||||
nix = {
|
|
||||||
gc = {
|
|
||||||
automatic = true;
|
|
||||||
dates = "weekly";
|
|
||||||
options = "--delete-older-than 7d";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
fileSystems."/" = {
|
|
||||||
device = "/dev/disk/by-uuid/55c746b3-b9dc-4c9b-ab56-de68a561f9a3";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/boot" = {
|
|
||||||
device = "/dev/disk/by-uuid/0C59-9996";
|
|
||||||
fsType = "vfat";
|
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices = [ ];
|
|
||||||
|
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
|
||||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
|
||||||
}
|
|
||||||
|
|
@ -1,43 +0,0 @@
|
||||||
{config, lib, pkgs, modulesPath, ... }:
|
|
||||||
|
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
|
||||||
# and may be overwritten by future invocations. Please make changes
|
|
||||||
# to /etc/nixos/configuration.nix instead.
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
(modulesPath + "/profiles/qemu-guest.nix")
|
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
|
||||||
];
|
|
||||||
|
|
||||||
system.stateVersion = "22.11";
|
|
||||||
|
|
||||||
fileSystems."/" = {
|
|
||||||
device = "/dev/disk/by-uuid/40fe3178-6ec1-450f-93fd-c359f2f3daf9";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices = [ ];
|
|
||||||
|
|
||||||
networking.useDHCP = lib.mkDefault true;
|
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
|
||||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
|
||||||
# This helps stay in step with genertator due to being in vm
|
|
||||||
boot = {
|
|
||||||
growPartition = true;
|
|
||||||
kernelParams = [ "console=ttyS0" ];
|
|
||||||
initrd = {
|
|
||||||
availableKernelModules = [ "uhci_hcd" "ehci_pci" "ahci" "virtio_pci" "virtio_blk" ];
|
|
||||||
kernelModules = [ "kvm-amd" ];
|
|
||||||
};
|
|
||||||
extraModulePackages = [ ];
|
|
||||||
loader = {
|
|
||||||
grub = {
|
|
||||||
device = "/dev/vda";
|
|
||||||
};
|
|
||||||
timeout = 0;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
services.qemuGuest.enable = lib.mkDefault true;
|
|
||||||
}
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
{ pkgs, config, lib, ...}:
|
|
||||||
{
|
|
||||||
dconf = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
"org/gnome/mutter" = {
|
|
||||||
attach-modal-dialogs = true;
|
|
||||||
dynamic-workspaces = true;
|
|
||||||
edge-tiling = false;
|
|
||||||
experimental-features = [ "scale-monitor-framebuffer" ];
|
|
||||||
focus-change-on-pointer-rest = true;
|
|
||||||
workspaces-only-on-primary = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
{ pkgs, config, lib, ...}:
|
|
||||||
{
|
|
||||||
programs.direnv = {
|
|
||||||
enable = true;
|
|
||||||
enableZshIntegration = lib.mkDefault true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
{ pkgs, config, lib, ...}:
|
|
||||||
{
|
|
||||||
programs.git = {
|
|
||||||
enable = true;
|
|
||||||
userName = "specCon18";
|
|
||||||
userEmail = "steven.carpenter@skdevstudios.com";
|
|
||||||
extraConfig = {
|
|
||||||
init = {
|
|
||||||
defaultBranch = "main";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,143 +0,0 @@
|
||||||
{ pkgs, config, lib, ...}:
|
|
||||||
{
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
nodePackages_latest.yaml-language-server
|
|
||||||
nodePackages_latest.bash-language-server
|
|
||||||
nodePackages_latest.vscode-langservers-extracted
|
|
||||||
nodePackages_latest.dockerfile-language-server-nodejs
|
|
||||||
nodePackages_latest.typescript
|
|
||||||
nodePackages_latest.typescript-language-server
|
|
||||||
nodePackages_latest.svelte-language-server
|
|
||||||
nodePackages_latest.vls
|
|
||||||
python311Packages.python-lsp-server
|
|
||||||
rnix-lsp
|
|
||||||
rust-analyzer
|
|
||||||
taplo
|
|
||||||
];
|
|
||||||
programs.helix = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
theme = "monokai_pro_octagon";
|
|
||||||
editor = {
|
|
||||||
line-number = "relative";
|
|
||||||
shell = ["zsh" "-c"];
|
|
||||||
completion-trigger-len = 0;
|
|
||||||
scroll-lines = 1;
|
|
||||||
scrolloff = 5;
|
|
||||||
cursorline = true;
|
|
||||||
cursor-shape = {
|
|
||||||
normal = "block";
|
|
||||||
insert = "bar";
|
|
||||||
select = "underline";
|
|
||||||
};
|
|
||||||
color-modes = true;
|
|
||||||
indent-guides.render = true;
|
|
||||||
file-picker.hidden = false;
|
|
||||||
auto-pairs = true;
|
|
||||||
lsp = {
|
|
||||||
enable = true;
|
|
||||||
display-messages = true;
|
|
||||||
auto-signature-help = true;
|
|
||||||
display-signature-help-docs = true;
|
|
||||||
snippets = true;
|
|
||||||
goto-reference-include-declaration = true;
|
|
||||||
};
|
|
||||||
statusline = {
|
|
||||||
mode = {
|
|
||||||
normal = "NORMAL";
|
|
||||||
insert = "INSERT";
|
|
||||||
select = "SELECT";
|
|
||||||
};
|
|
||||||
left = [ "mode" "separator" "spinner" "separator" "file-name" ];
|
|
||||||
right = [ "diagnostics" "position" "file-encoding" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
themes = {
|
|
||||||
monokai_pro_octagon = let
|
|
||||||
red = "#ff657a";
|
|
||||||
orange = "#ff9b5e";
|
|
||||||
yellow = "#ffd76d";
|
|
||||||
green = "#bad761";
|
|
||||||
blue = "#9cd1bb";
|
|
||||||
purple = "#c39ac9";
|
|
||||||
base0 = "#161821";
|
|
||||||
base1 = "#1e1f2b";
|
|
||||||
base2 = "#282a3a";
|
|
||||||
base3 = "#3a3d4b";
|
|
||||||
base4 = "#535763";
|
|
||||||
base5 = "#696d77";
|
|
||||||
base6 = "#767b81";
|
|
||||||
base7 = "#b2b9bd";
|
|
||||||
base8 = "#eaf2f1";
|
|
||||||
base8x0c = "#303342";
|
|
||||||
in {
|
|
||||||
"ui.linenr.selected" = { bg = base3; };
|
|
||||||
"ui.text.focus" = { fg = yellow; modifiers = ["bold"]; };
|
|
||||||
"ui.menu" = { fg = base8; bg = base3; };
|
|
||||||
"ui.menu.selected" = { fg = base2; bg = yellow; };
|
|
||||||
"ui.virtual.whitespace" = base5;
|
|
||||||
"ui.virtual.ruler" = { bg = base1; };
|
|
||||||
"info" = base8;
|
|
||||||
"hint" = base8;
|
|
||||||
"ui.background" = {};
|
|
||||||
"ui.statusline.inactive" = { fg = base8; bg = base8x0c; };
|
|
||||||
"ui.statusline" = { fg = base8; bg = base4; };
|
|
||||||
"ui.statusline.normal" = { fg = base4; bg = blue; };
|
|
||||||
"ui.statusline.insert" = { fg = base4; bg = green; };
|
|
||||||
"ui.statusline.select" = { fg = base4; bg = purple; };
|
|
||||||
"ui.popup" = { bg = base3; };
|
|
||||||
"ui.window" = { bg = base3; };
|
|
||||||
"ui.help" = { fg = base8; bg = base3; };
|
|
||||||
"ui.selection" = { bg = base4; };
|
|
||||||
"ui.cursor.match" = { bg = base4; };
|
|
||||||
"ui.cursorline" = { bg = base1; };
|
|
||||||
"comment" = { fg = base5; modifiers = ["italic"]; };
|
|
||||||
"ui.linenr" = { fg = base5; };
|
|
||||||
"ui.cursor.primary" = { fg = base7; modifiers = ["reversed"]; };
|
|
||||||
"attribute" = blue;
|
|
||||||
"variable" = base8;
|
|
||||||
"constant" = orange;
|
|
||||||
"variable.builtin" = red;
|
|
||||||
"constant.builtin" = red;
|
|
||||||
"namespace" = base8;
|
|
||||||
"ui.text" = { fg = base8; };
|
|
||||||
"punctuation" = base6;
|
|
||||||
"type" = green;
|
|
||||||
"type.builtin" = { fg = red; };
|
|
||||||
"label" = base8;
|
|
||||||
"constructor" = blue;
|
|
||||||
"function" = green;
|
|
||||||
"function.macro" = { fg = blue; };
|
|
||||||
"function.builtin" = { fg = "cyan"; };
|
|
||||||
"operator" = red;
|
|
||||||
"variable.other.member" = base8;
|
|
||||||
"keyword" = { fg = red; };
|
|
||||||
"keyword.directive" = blue;
|
|
||||||
"variable.parameter" = "#f59762";
|
|
||||||
"error" = red;
|
|
||||||
"special" = "#f59762";
|
|
||||||
"module" = "#f59762";
|
|
||||||
"warning" = "orange";
|
|
||||||
"constant.character.escape" = { fg = base8; };
|
|
||||||
"string" = yellow;
|
|
||||||
"constant.numeric" = purple;
|
|
||||||
"diff.plus" = green;
|
|
||||||
"diff.delta" = "orange";
|
|
||||||
"diff.minus" = red;
|
|
||||||
"diagnostic.warning" = { underline = { color = "orange"; style = "curl"; }; };
|
|
||||||
"diagnostic.error" = { underline = { color = red; style = "curl"; }; };
|
|
||||||
"diagnostic.info" = { underline = { color = base8; style = "curl"; }; };
|
|
||||||
"diagnostic.hint" = { underline = { color = base8; style = "curl"; }; };
|
|
||||||
"markup.heading" = green;
|
|
||||||
"markup.bold" = { fg = "orange"; modifiers = ["bold"]; };
|
|
||||||
"markup.italic" = { fg = "orange"; modifiers = ["italic"]; };
|
|
||||||
"markup.strikethrough" = { modifiers = ["crossed_out"]; };
|
|
||||||
"markup.link.url" = { fg = "orange"; modifiers = ["underlined"]; };
|
|
||||||
"markup.link.text" = yellow;
|
|
||||||
"markup.quote" = green;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
{ pkgs, config, lib, ...}:
|
|
||||||
{
|
|
||||||
programs.home-manager = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,47 +0,0 @@
|
||||||
{ pkgs, config, lib, ...}:
|
|
||||||
{
|
|
||||||
wayland.windowManager.hyprland = {
|
|
||||||
# systemdIntegration = true;
|
|
||||||
enable = true;
|
|
||||||
extraConfig = ''
|
|
||||||
$mainMod = SUPER
|
|
||||||
# Application Lauch Keybinds
|
|
||||||
bind = $mainMod, Return, exec, alacritty
|
|
||||||
bind = $mainMod, W, exec, firefox
|
|
||||||
bind = $mainMod, R, exec, rofi -show drun
|
|
||||||
|
|
||||||
# Switch workspaces with mainMod + [0-9]
|
|
||||||
bind = $mainMod, 1, workspace, 1
|
|
||||||
bind = $mainMod, 2, workspace, 2
|
|
||||||
bind = $mainMod, 3, workspace, 3
|
|
||||||
bind = $mainMod, 4, workspace, 4
|
|
||||||
bind = $mainMod, 5, workspace, 5
|
|
||||||
bind = $mainMod, 6, workspace, 6
|
|
||||||
bind = $mainMod, 7, workspace, 7
|
|
||||||
bind = $mainMod, 8, workspace, 8
|
|
||||||
bind = $mainMod, 9, workspace, 9
|
|
||||||
bind = $mainMod, 0, workspace, 10
|
|
||||||
|
|
||||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
|
||||||
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
|
||||||
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
|
||||||
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
|
||||||
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
|
||||||
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
|
||||||
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
|
||||||
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
|
||||||
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
|
||||||
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
|
||||||
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
|
||||||
|
|
||||||
bind = $mainMod, Print, exec, grim -o /home/speccon18/Pictures/$(date +'%s_grim.png') -g "$(slurp)" -t png
|
|
||||||
|
|
||||||
# Startup Runners
|
|
||||||
exec-once=systemctl --user start waybar.service
|
|
||||||
exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
|
||||||
exec-once=mako
|
|
||||||
exec-once = swww init
|
|
||||||
monitor=,highres,auto,1
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
{ pkgs, config, lib, ...}:
|
|
||||||
{
|
|
||||||
programs.ncspot = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.ncspot;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
{ pkgs, config, lib, ...}:
|
|
||||||
{
|
|
||||||
programs.rofi = {
|
|
||||||
enable = true;
|
|
||||||
theme = "android_notification";
|
|
||||||
location = "top-left";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
{ pkgs, config, lib, ...}:
|
|
||||||
{
|
|
||||||
programs.starship = {
|
|
||||||
enable = true;
|
|
||||||
enableZshIntegration = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
{config, lib, pkgs, modulesPath, ... }:
|
|
||||||
{
|
|
||||||
services.syncthing = {
|
|
||||||
enable = true;
|
|
||||||
tray.enable = false;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,31 +0,0 @@
|
||||||
{ pkgs, config, lib, ...}:
|
|
||||||
{
|
|
||||||
programs.vscode = {
|
|
||||||
enable = false;
|
|
||||||
package = pkgs.vscode.fhs;
|
|
||||||
enableExtensionUpdateCheck = true;
|
|
||||||
enableUpdateCheck = false;
|
|
||||||
userSettings = {
|
|
||||||
"workbench.colorTheme" = "Monokai Pro (Filter Octagon)";
|
|
||||||
"workbench.startupEditor" = "none";
|
|
||||||
"workbench.iconTheme" = "Monokai Pro Icons";
|
|
||||||
"git.autofetch" = true;
|
|
||||||
"redhat.telemetry.enabled" = false;
|
|
||||||
"svelte.enable-ts-plugin" = true;
|
|
||||||
"window.menuBarVisibility" = "compact";
|
|
||||||
"prettier.singleQuote" = true;
|
|
||||||
"prettier.useTabs" = true;
|
|
||||||
"prettier.bracketSpacing" = false;
|
|
||||||
"prettier.htmlWhitespaceSensitivity" = "strict";
|
|
||||||
"typescript.updateImportsOnFileMove.enabled" = "always";
|
|
||||||
"editor.fontFamily" = "OpenDyslexic, OpenDyslexic Mono NF";
|
|
||||||
"rust-analyzer.inlayHints.chainingHints.enable" = false;
|
|
||||||
"rust-analyzer.inlayHints.closingBraceHints.enable" = false;
|
|
||||||
"rust-analyzer.inlayHints.renderColons" = false;
|
|
||||||
"rust-analyzer.inlayHints.parameterHints.enable" = false;
|
|
||||||
"editor.minimap.enabled" = false;
|
|
||||||
"editor.inlineSuggest.enabled" = true;
|
|
||||||
"window.zoomLevel" = 1;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,121 +0,0 @@
|
||||||
{ pkgs, config, lib, ...}:
|
|
||||||
{
|
|
||||||
programs.waybar = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.waybar;
|
|
||||||
systemd = {
|
|
||||||
enable = true;
|
|
||||||
target = "hyprland-session.target";
|
|
||||||
};
|
|
||||||
settings = {
|
|
||||||
main_bar = {
|
|
||||||
layer = "top";
|
|
||||||
position = "top";
|
|
||||||
height = 40;
|
|
||||||
spacing = 8;
|
|
||||||
modules-left = [
|
|
||||||
"battery"
|
|
||||||
];
|
|
||||||
modules-center = [
|
|
||||||
"temperature"
|
|
||||||
];
|
|
||||||
modules-right = [
|
|
||||||
"backlight"
|
|
||||||
"cpu"
|
|
||||||
"memory"
|
|
||||||
"pulseaudio"
|
|
||||||
"network"
|
|
||||||
"clock"
|
|
||||||
];
|
|
||||||
keyboard-state = {
|
|
||||||
numlock = true;
|
|
||||||
capslock = true;
|
|
||||||
format = "{name} {icon}";
|
|
||||||
format-icons = {
|
|
||||||
locked = "";
|
|
||||||
unlocked = "";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
clock = {
|
|
||||||
timezone = "America/Detroit";
|
|
||||||
tooltip-format = "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
|
|
||||||
format-alt = "{:%d-%m-%Y}";
|
|
||||||
};
|
|
||||||
cpu = {
|
|
||||||
format = "{usage}% ";
|
|
||||||
tooltip = false;
|
|
||||||
};
|
|
||||||
memory = {
|
|
||||||
format = "{}% ";
|
|
||||||
};
|
|
||||||
temperature = {
|
|
||||||
thermal-zone = 2;
|
|
||||||
hwmon-path = "/sys/class/hwmon/hwmon2/temp1_input";
|
|
||||||
critical-threshold = 80;
|
|
||||||
format-critical = "{temperatureC}°C {icon}";
|
|
||||||
format = "{temperatureC}°C {icon}";
|
|
||||||
format-icons = ["" "" ""];
|
|
||||||
};
|
|
||||||
backlight = {
|
|
||||||
format = "{percent} {icon}";
|
|
||||||
format-icons = ["" "" "" "" "" "" "" "" ""];
|
|
||||||
};
|
|
||||||
battery = {
|
|
||||||
states = {
|
|
||||||
good = 95;
|
|
||||||
warning = 30;
|
|
||||||
critical = 15;
|
|
||||||
};
|
|
||||||
format = "{capacity}% {icon}";
|
|
||||||
format-charging = "{capacity}% ";
|
|
||||||
format-plugged = "{capacity}% ";
|
|
||||||
format-alt = "{time} {icon}";
|
|
||||||
format-good = "";
|
|
||||||
format-full = "";
|
|
||||||
format-icons = [
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
];
|
|
||||||
};
|
|
||||||
"battery#bat2" = {
|
|
||||||
bat = "BAT";
|
|
||||||
};
|
|
||||||
network = {
|
|
||||||
format-wifi = "{essid} ({signalStrength}%) ";
|
|
||||||
format-ethernet = "{ipaddr}/{cidr} ";
|
|
||||||
tooltip-format = "{ifname} via {gwaddr} ";
|
|
||||||
format-linked = "{ifname} (No IP) ";
|
|
||||||
format-disconnected = "Disconnected ⚠";
|
|
||||||
format-alt = "{ifname}: {ipaddr}/{cidr}";
|
|
||||||
};
|
|
||||||
pulseaudio = {
|
|
||||||
scroll-step = 1;
|
|
||||||
format = "{volume}% {icon} {format_source}";
|
|
||||||
format-bluetooth = "{volume}% {icon} {format_source}";
|
|
||||||
format-bluetooth-muted = "{icon} {format_source}";
|
|
||||||
format-muted = " {format_source}";
|
|
||||||
format-source = "{volume}% ";
|
|
||||||
format-source-muted = "";
|
|
||||||
format-icons = {
|
|
||||||
headphone = "";
|
|
||||||
hands-free = "";
|
|
||||||
headset = "";
|
|
||||||
phone = "";
|
|
||||||
portable = "";
|
|
||||||
car = "";
|
|
||||||
default = [
|
|
||||||
""
|
|
||||||
""
|
|
||||||
""
|
|
||||||
];
|
|
||||||
};
|
|
||||||
on-click = "pavucontrol";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
style = builtins.readFile ./style.css;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
{ pkgs, config, lib, ...}:
|
|
||||||
{
|
|
||||||
programs.zellij = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.zellij;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
{ pkgs, config, lib, ...}:
|
|
||||||
{
|
|
||||||
programs.zoxide = {
|
|
||||||
enable = true;
|
|
||||||
enableZshIntegration = lib.mkDefault true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,23 +0,0 @@
|
||||||
{ pkgs, config, lib, ...}:
|
|
||||||
{
|
|
||||||
programs.zsh = {
|
|
||||||
enable = lib.mkDefault true;
|
|
||||||
dotDir = ".config/zsh";
|
|
||||||
history = {
|
|
||||||
path = "$ZDOTDIR/.zsh_history";
|
|
||||||
save = 10000000;
|
|
||||||
};
|
|
||||||
enableAutosuggestions = lib.mkDefault true;
|
|
||||||
enableCompletion = lib.mkDefault true;
|
|
||||||
syntaxHighlighting.enable = lib.mkDefault true;
|
|
||||||
shellAliases = {
|
|
||||||
ls = "eza -l";
|
|
||||||
lsa = "eza -al";
|
|
||||||
grep = "rg";
|
|
||||||
osrb = "sudo nixos-rebuild $1 --flake ~/code/nixos-config/#katana";
|
|
||||||
};
|
|
||||||
localVariables = {
|
|
||||||
EDITOR="hx";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
inherit (lib) mkEnableOption mkIf;
|
|
||||||
cfg = config.speccon18.desktop.budgie;
|
|
||||||
in {
|
|
||||||
options.speccon18.desktop.budgie = {
|
|
||||||
enable = mkEnableOption "enables specs custom budgie setup";
|
|
||||||
};
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
services.xserver = {
|
|
||||||
enable = true;
|
|
||||||
desktopManager.budgie.enable = true;
|
|
||||||
displayManager.lightdm.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -1,53 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
inherit (lib) mkEnableOption mkIf;
|
|
||||||
cfg = config.speccon18.desktop.gnome;
|
|
||||||
in {
|
|
||||||
options.speccon18.desktop.gnome = {
|
|
||||||
enable = mkEnableOption "enables specs custom gnome setup";
|
|
||||||
};
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
# Gnome extensions
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
];
|
|
||||||
|
|
||||||
services = {
|
|
||||||
gnome = {
|
|
||||||
core-utilities.enable = false;
|
|
||||||
gnome-keyring.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
xserver = {
|
|
||||||
enable = true;
|
|
||||||
layout = "us";
|
|
||||||
xkbVariant = "";
|
|
||||||
displayManager = {
|
|
||||||
gdm = {
|
|
||||||
enable = true;
|
|
||||||
wayland = true;
|
|
||||||
};
|
|
||||||
defaultSession = lib.mkDefault "budgie-desktop";
|
|
||||||
};
|
|
||||||
desktopManager = {
|
|
||||||
xterm.enable = false;
|
|
||||||
# gnome.enable = lib.mkDefault true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs = {
|
|
||||||
xwayland.enable = lib.mkDefault true;
|
|
||||||
};
|
|
||||||
|
|
||||||
xdg = {
|
|
||||||
portal = { enable = lib.mkDefault true; };
|
|
||||||
mime.defaultApplications = {
|
|
||||||
"text/markdown" = "hx";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,69 +0,0 @@
|
||||||
{ config, pkgs, lib, ...}:
|
|
||||||
let
|
|
||||||
inherit (lib) mkEnableOption mkIf;
|
|
||||||
cfg = config.speccon18.desktop.hyprland;
|
|
||||||
in {
|
|
||||||
options.speccon18.desktop.hyprland = {
|
|
||||||
enable = mkEnableOption "enables specs custom hyprland setup";
|
|
||||||
};
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
programs.hyprland = {
|
|
||||||
enable = true;
|
|
||||||
nvidiaPatches = true;
|
|
||||||
xwayland.enable = true;
|
|
||||||
};
|
|
||||||
environment = {
|
|
||||||
systemPackages = with pkgs; [
|
|
||||||
# libsForQt5.polkit-kde-agent
|
|
||||||
libsForQt5.qt5.qtwayland
|
|
||||||
qt6.full
|
|
||||||
qt6.qtwayland
|
|
||||||
waybar
|
|
||||||
swww
|
|
||||||
pw-volume
|
|
||||||
rofi-wayland
|
|
||||||
libnotify
|
|
||||||
mako
|
|
||||||
hyprland
|
|
||||||
font-awesome
|
|
||||||
brightnessctl
|
|
||||||
grim
|
|
||||||
slurp
|
|
||||||
wl-clipboard
|
|
||||||
];
|
|
||||||
sessionVariables = {
|
|
||||||
#Enable Wayland
|
|
||||||
WLR_NO_HARDWARE_CURSORS = "1";
|
|
||||||
NIXOS_OZONE_WL = "1";
|
|
||||||
MOZ_ENABLE_WAYLAND = "1";
|
|
||||||
GTK_USE_PORTAL = "1";
|
|
||||||
NIXOS_XDG_OPEN_USE_PORTAL = "1";
|
|
||||||
SDL_VIDEODRIVER = "wayland";
|
|
||||||
|
|
||||||
# XDG_Config
|
|
||||||
XDG_CURRENT_DESKTOP = "Hyprland";
|
|
||||||
XDG_SESSION_DESKTOP = "Hyprland";
|
|
||||||
XDG_SESSION_TYPE = "wayland";
|
|
||||||
XDG_CACHE_HOME = "\${HOME}/.cache";
|
|
||||||
XDG_CONFIG_HOME = "\${HOME}/.config";
|
|
||||||
XDG_BIN_HOME = "\${HOME}/.local/bin";
|
|
||||||
XDG_DATA_HOME = "\${HOME}/.local/share";
|
|
||||||
|
|
||||||
#Default Applications
|
|
||||||
BROWSER = "firefox";
|
|
||||||
TERMINAL = "alacritty";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
xdg.portal = {
|
|
||||||
enable = true;
|
|
||||||
extraPortals = [
|
|
||||||
pkgs.xdg-desktop-portal-gtk
|
|
||||||
pkgs.xdg-desktop-portal-hyprland
|
|
||||||
];
|
|
||||||
};
|
|
||||||
hardware = {
|
|
||||||
opengl.enable = true;
|
|
||||||
nvidia.modesetting.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,83 +0,0 @@
|
||||||
{ disks ? [ "/dev/nvme0n1" ], ... }: {
|
|
||||||
disk = {
|
|
||||||
disk-0 = {
|
|
||||||
type = "disk";
|
|
||||||
device = builtins.elemAt disks 0;
|
|
||||||
content = {
|
|
||||||
type = "table";
|
|
||||||
format = "gpt";
|
|
||||||
partitions = [
|
|
||||||
{
|
|
||||||
type = "partition";
|
|
||||||
name = "ESP";
|
|
||||||
start = "1MiB";
|
|
||||||
end = "2g";
|
|
||||||
bootable = true;
|
|
||||||
content = {
|
|
||||||
type = "filesystem";
|
|
||||||
format = "vfat";
|
|
||||||
mountpoint = "/boot";
|
|
||||||
mountOptions = [
|
|
||||||
"defaults"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "swap";
|
|
||||||
type = "partition";
|
|
||||||
start = "2G";
|
|
||||||
end = "40G";
|
|
||||||
part-type = "primary";
|
|
||||||
content = {
|
|
||||||
type = "swap";
|
|
||||||
randomEncryption = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "partition";
|
|
||||||
name = "luks";
|
|
||||||
start = "40G";
|
|
||||||
end = "100%";
|
|
||||||
content = {
|
|
||||||
type = "luks";
|
|
||||||
name = "crypted";
|
|
||||||
extraOpenArgs = [ "--allow-discards" ];
|
|
||||||
content = {
|
|
||||||
type = "lvm_pv";
|
|
||||||
vg = "pool";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
lvm_vg = {
|
|
||||||
pool = {
|
|
||||||
type = "lvm_vg";
|
|
||||||
lvs = {
|
|
||||||
root = {
|
|
||||||
type = "lvm_lv";
|
|
||||||
size = "128G";
|
|
||||||
content = {
|
|
||||||
type = "filesystem";
|
|
||||||
format = "ext4";
|
|
||||||
mountpoint = "/";
|
|
||||||
mountOptions = [
|
|
||||||
"defaults"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
home = {
|
|
||||||
type = "lvm_lv";
|
|
||||||
size = "25G";
|
|
||||||
content = {
|
|
||||||
type = "filesystem";
|
|
||||||
format = "ext4";
|
|
||||||
mountpoint = "/home";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
{
|
|
||||||
config
|
|
||||||
, lib
|
|
||||||
, pkgs
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
# To use this feature add -j0 to any nix commad.
|
|
||||||
hostName = "10.18.1.60";
|
|
||||||
pubKey = "bob:Ome3wEzBur1kOkifxu9ZMbfhwLgvr5J8qfOZRDdvz3Q=";
|
|
||||||
in {
|
|
||||||
nix = {
|
|
||||||
distributedBuilds = false;
|
|
||||||
settings = {
|
|
||||||
trusted-public-keys = lib.mkAfter [
|
|
||||||
pubKey
|
|
||||||
];
|
|
||||||
builders-use-substitutes = true;
|
|
||||||
# substituters = lib.mkAfter [
|
|
||||||
# "ssh-ng://nix-ssh@${hostname}"
|
|
||||||
# ];
|
|
||||||
# allowed-users = [
|
|
||||||
# "@wheel"
|
|
||||||
# "@builders"
|
|
||||||
# ];
|
|
||||||
# trusted-users = [
|
|
||||||
# "root"
|
|
||||||
# "nix-ssh"
|
|
||||||
# ];
|
|
||||||
};
|
|
||||||
# buildMachines = [
|
|
||||||
# {
|
|
||||||
# inherit hostName;
|
|
||||||
# protocol = "ssh-ng";
|
|
||||||
# maxJobs = 8;
|
|
||||||
# systems = [
|
|
||||||
# "x86_64-linux"
|
|
||||||
# "i686-linux"
|
|
||||||
# ];
|
|
||||||
# supportedFeatures = [
|
|
||||||
# "big-parallel"
|
|
||||||
# "nixos-test"
|
|
||||||
# "kvm"
|
|
||||||
# "benchmark"
|
|
||||||
# ];
|
|
||||||
# sshUser = "builder";
|
|
||||||
# sshKey = "/root/.ssh/id_ed25519";
|
|
||||||
# # publicHostKey =
|
|
||||||
# }
|
|
||||||
# ];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
{ modulesPath, config, pkgs, lib, self, ... }:
|
|
||||||
{
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
# powertop
|
|
||||||
# tlp
|
|
||||||
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
{ config, pkgs, lib, ... }:
|
|
||||||
{
|
|
||||||
virtualisation.docker = {
|
|
||||||
enable = true;
|
|
||||||
liveRestore = false;
|
|
||||||
autoPrune.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# But allow docker containers to access the local machine
|
|
||||||
networking.firewall.trustedInterfaces = [ "docker0" ];
|
|
||||||
}
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
{ config, pkgs, lib, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
services.openssh = lib.mkDefault {
|
|
||||||
enable = true;
|
|
||||||
openFirewall = true;
|
|
||||||
startWhenNeeded = true;
|
|
||||||
settings = {
|
|
||||||
KexAlgorithms = [ "curve25519-sha256@libssh.org" ];
|
|
||||||
PermitRootLogin = "no";
|
|
||||||
PasswordAuthentication = false;
|
|
||||||
KbdInteractiveAuthentication = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
security.pam = lib.mkDefault {
|
|
||||||
enableSSHAgentAuth = true;
|
|
||||||
services.sudo.sshAgentAuth = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
# https://nixos.wiki/wiki/PipeWire
|
|
||||||
{ config, pkgs, lib, ... }:
|
|
||||||
{
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
pipewire
|
|
||||||
wireplumber
|
|
||||||
];
|
|
||||||
# rtkit is optional but recommended
|
|
||||||
security.rtkit.enable = true;
|
|
||||||
services.pipewire = {
|
|
||||||
enable = true;
|
|
||||||
alsa = {
|
|
||||||
enable = true;
|
|
||||||
support32Bit = true;
|
|
||||||
};
|
|
||||||
pulse.enable = true;
|
|
||||||
jack.enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
# # {config, lib, pkgs, modulesPath, ... }:
|
|
||||||
# {
|
|
||||||
# services.syncthing = {
|
|
||||||
# enable = true;
|
|
||||||
# dataDir = "/home/speccon18";
|
|
||||||
# openDefaultPorts = true;
|
|
||||||
# configDir = "/home/speccon18/.config/syncthing";
|
|
||||||
# user = "speccon18";
|
|
||||||
# group = "users";
|
|
||||||
# guiAddress = "0.0.0.0:8384";
|
|
||||||
# overrideDevices = true;
|
|
||||||
# overrideFolders = true;
|
|
||||||
# devices = {
|
|
||||||
# "syncthing_server" = { id = "N3UGNP6-ZU6JHBX-WNJDEUF-FV5DOWA-VAGFDYN-FIIMFRR-C3HGQHU-WOEIUQ6"; };
|
|
||||||
# };
|
|
||||||
# extraOptions.gui = {
|
|
||||||
# user = "admin";
|
|
||||||
# password = "Strife-Rerun-Lily-Pushover-Alongside-Raider0-Freebase";
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
# }
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
# make the tailscale command usable to users
|
|
||||||
environment.systemPackages = with pkgs;[
|
|
||||||
pkgs.tailscale
|
|
||||||
];
|
|
||||||
|
|
||||||
# enable the tailscale service
|
|
||||||
services.tailscale.enable = true;
|
|
||||||
}
|
|
||||||
7
nixosModules/default.nix
Normal file
7
nixosModules/default.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
{pkgs, lib, ... }: {
|
||||||
|
imports = [
|
||||||
|
./users/default.nix
|
||||||
|
./services/default.nix
|
||||||
|
./desktop_environments/default.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
12
nixosModules/desktop_environments/budgie.nix
Normal file
12
nixosModules/desktop_environments/budgie.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
{ config, pkgs, lib, ...}:
|
||||||
|
{
|
||||||
|
options.speccon18.desktop.budgie.enable = lib.mkEnableOption "enables specs custom budgie setup";
|
||||||
|
|
||||||
|
config = lib.mkIf config.speccon18.desktop.budgie.enable {
|
||||||
|
services.xserver = {
|
||||||
|
enable = true;
|
||||||
|
desktopManager.budgie.enable = true;
|
||||||
|
displayManager.lightdm.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
13
nixosModules/desktop_environments/default.nix
Normal file
13
nixosModules/desktop_environments/default.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
{pkgs,config,...}:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./budgie.nix
|
||||||
|
./gnome.nix
|
||||||
|
./hyprland.nix
|
||||||
|
./tuigreet.nix
|
||||||
|
];
|
||||||
|
speccon18.desktop.budgie.enable = true;
|
||||||
|
speccon18.desktop.gnome.enable = false;
|
||||||
|
speccon18.desktop.hyprland.enable = false;
|
||||||
|
speccon18.desktop.displayManager.tuigreet.enable = false;
|
||||||
|
}
|
||||||
58
nixosModules/desktop_environments/gnome.nix
Normal file
58
nixosModules/desktop_environments/gnome.nix
Normal file
|
|
@ -0,0 +1,58 @@
|
||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
{
|
||||||
|
options.speccon18.desktop.gnome.enable = lib.mkEnableOption "enables specs custom gnome setup";
|
||||||
|
|
||||||
|
config = lib.mkIf config.speccon18.desktop.gnome.enable {
|
||||||
|
Dconf settings
|
||||||
|
dconf = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
"org/gnome/mutter" = {
|
||||||
|
attach-modal-dialogs = true;
|
||||||
|
dynamic-workspaces = true;
|
||||||
|
edge-tiling = false;
|
||||||
|
experimental-features = [ "scale-monitor-framebuffer" ];
|
||||||
|
focus-change-on-pointer-rest = true;
|
||||||
|
workspaces-only-on-primary = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
Gnome extensions
|
||||||
|
environment.systemPackages = with pkgs; [ ];
|
||||||
|
|
||||||
|
services = {
|
||||||
|
gnome = {
|
||||||
|
core-utilities.enable = false;
|
||||||
|
gnome-keyring.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
xserver = {
|
||||||
|
enable = true;
|
||||||
|
layout = "us";
|
||||||
|
xkbVariant = "";
|
||||||
|
displayManager = {
|
||||||
|
gdm = {
|
||||||
|
enable = true;
|
||||||
|
wayland = true;
|
||||||
|
};
|
||||||
|
defaultSession = lib.mkDefault "budgie-desktop";
|
||||||
|
};
|
||||||
|
desktopManager = {
|
||||||
|
xterm.enable = false;
|
||||||
|
# gnome.enable = lib.mkDefault true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
xwayland.enable = lib.mkDefault true;
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg = {
|
||||||
|
portal = { enable = lib.mkDefault true; };
|
||||||
|
mime.defaultApplications = {
|
||||||
|
"text/markdown" = "hx";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
108
nixosModules/desktop_environments/hyprland.nix
Normal file
108
nixosModules/desktop_environments/hyprland.nix
Normal file
|
|
@ -0,0 +1,108 @@
|
||||||
|
{ config, pkgs, lib, ...}:
|
||||||
|
{
|
||||||
|
options.speccon18.desktop.hyprland.enable = lib.mkEnableOption "enables specs custom hyprland setup";
|
||||||
|
config = lib.mkIf config.speccon18.desktop.hyprland.enable {
|
||||||
|
programs.hyprland = {
|
||||||
|
enable = true;
|
||||||
|
nvidiaPatches = true;
|
||||||
|
xwayland.enable = true;
|
||||||
|
};
|
||||||
|
environment = {
|
||||||
|
systemPackages = with pkgs; [
|
||||||
|
# libsForQt5.polkit-kde-agent
|
||||||
|
libsForQt5.qt5.qtwayland
|
||||||
|
qt6.full
|
||||||
|
qt6.qtwayland
|
||||||
|
waybar
|
||||||
|
swww
|
||||||
|
pw-volume
|
||||||
|
rofi-wayland
|
||||||
|
libnotify
|
||||||
|
mako
|
||||||
|
hyprland
|
||||||
|
font-awesome
|
||||||
|
brightnessctl
|
||||||
|
grim
|
||||||
|
slurp
|
||||||
|
wl-clipboard
|
||||||
|
];
|
||||||
|
sessionVariables = {
|
||||||
|
#Enable Wayland
|
||||||
|
WLR_NO_HARDWARE_CURSORS = "1";
|
||||||
|
NIXOS_OZONE_WL = "1";
|
||||||
|
MOZ_ENABLE_WAYLAND = "1";
|
||||||
|
GTK_USE_PORTAL = "1";
|
||||||
|
NIXOS_XDG_OPEN_USE_PORTAL = "1";
|
||||||
|
SDL_VIDEODRIVER = "wayland";
|
||||||
|
|
||||||
|
# XDG_Config
|
||||||
|
XDG_CURRENT_DESKTOP = "Hyprland";
|
||||||
|
XDG_SESSION_DESKTOP = "Hyprland";
|
||||||
|
XDG_SESSION_TYPE = "wayland";
|
||||||
|
XDG_CACHE_HOME = "\${HOME}/.cache";
|
||||||
|
XDG_CONFIG_HOME = "\${HOME}/.config";
|
||||||
|
XDG_BIN_HOME = "\${HOME}/.local/bin";
|
||||||
|
XDG_DATA_HOME = "\${HOME}/.local/share";
|
||||||
|
|
||||||
|
#Default Applications
|
||||||
|
BROWSER = "firefox";
|
||||||
|
TERMINAL = "alacritty";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
xdg.portal = {
|
||||||
|
enable = true;
|
||||||
|
extraPortals = [
|
||||||
|
pkgs.xdg-desktop-portal-gtk
|
||||||
|
pkgs.xdg-desktop-portal-hyprland
|
||||||
|
];
|
||||||
|
};
|
||||||
|
hardware = {
|
||||||
|
opengl.enable = true;
|
||||||
|
nvidia.modesetting.enable = true;
|
||||||
|
};
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
# systemdIntegration = true;
|
||||||
|
enable = true;
|
||||||
|
extraConfig = ''
|
||||||
|
$mainMod = SUPER
|
||||||
|
# Application Lauch Keybinds
|
||||||
|
bind = $mainMod, Return, exec, alacritty
|
||||||
|
bind = $mainMod, W, exec, firefox
|
||||||
|
bind = $mainMod, R, exec, rofi -show drun
|
||||||
|
|
||||||
|
# Switch workspaces with mainMod + [0-9]
|
||||||
|
bind = $mainMod, 1, workspace, 1
|
||||||
|
bind = $mainMod, 2, workspace, 2
|
||||||
|
bind = $mainMod, 3, workspace, 3
|
||||||
|
bind = $mainMod, 4, workspace, 4
|
||||||
|
bind = $mainMod, 5, workspace, 5
|
||||||
|
bind = $mainMod, 6, workspace, 6
|
||||||
|
bind = $mainMod, 7, workspace, 7
|
||||||
|
bind = $mainMod, 8, workspace, 8
|
||||||
|
bind = $mainMod, 9, workspace, 9
|
||||||
|
bind = $mainMod, 0, workspace, 10
|
||||||
|
|
||||||
|
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||||
|
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||||
|
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
||||||
|
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
||||||
|
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
||||||
|
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
||||||
|
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
||||||
|
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||||
|
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
||||||
|
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||||
|
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
||||||
|
|
||||||
|
bind = $mainMod, Print, exec, grim -o /home/speccon18/Pictures/$(date +'%s_grim.png') -g "$(slurp)" -t png
|
||||||
|
|
||||||
|
# Startup Runners
|
||||||
|
exec-once=systemctl --user start waybar.service
|
||||||
|
exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
||||||
|
exec-once=mako
|
||||||
|
exec-once = swww init
|
||||||
|
monitor=,highres,auto,1
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
{ pkgs, config, lib, ...}:
|
{ pkgs, config, lib, ...}:
|
||||||
{
|
{
|
||||||
|
options.speccon18.home_manager.alacritty.enable = lib.mkEnableOption "enables specs custom alacritty config";
|
||||||
|
config = lib.mkIf config.speccon18.home_manager.alacritty.enable {
|
||||||
programs.alacritty = {
|
programs.alacritty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|
@ -69,4 +71,5 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
29
nixosModules/home_manager/default.nix
Normal file
29
nixosModules/home_manager/default.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
{pkgs,config,...}:{
|
||||||
|
imports = [
|
||||||
|
./zsh.nix
|
||||||
|
./alacritty.nix
|
||||||
|
./direnv.nix
|
||||||
|
./git.nix
|
||||||
|
./helix.nix
|
||||||
|
./ncspot.nix
|
||||||
|
./rofi.nix
|
||||||
|
./starship.nix
|
||||||
|
./syncthing.nix
|
||||||
|
./waybar.nix
|
||||||
|
./zellij.nix
|
||||||
|
./zoxide.nix
|
||||||
|
];
|
||||||
|
speccon18.home_manager.home-manager.enable = true;
|
||||||
|
speccon18.home_manager.zsh.enable = true;
|
||||||
|
speccon18.home_manager.alacritty.enable = false;
|
||||||
|
speccon18.home_manager.direnv.enable = true;
|
||||||
|
speccon18.home_manager.git.enable = true;
|
||||||
|
speccon18.home_manager.helix.enable = true;
|
||||||
|
speccon18.home_manager.ncspot.enable = true;
|
||||||
|
speccon18.home_manager.rofi.enable = false;
|
||||||
|
speccon18.home_manager.starship.enable = true;
|
||||||
|
speccon18.home_manager.syncthing.enable = false;
|
||||||
|
speccon18.home_manager.waybar.enable = false;
|
||||||
|
speccon18.home_manager.zellij.enable = true;
|
||||||
|
speccon18.home_manager.zoxide.enable = true;
|
||||||
|
}
|
||||||
10
nixosModules/home_manager/direnv.nix
Normal file
10
nixosModules/home_manager/direnv.nix
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
{ pkgs, config, lib, ...}:
|
||||||
|
{
|
||||||
|
options.speccon18.home_manager.direnv.enable = lib.mkEnableOption "enables direnv with zsh integration";
|
||||||
|
config = lib.mkIf config.speccon18.home_manager.direnv.enable {
|
||||||
|
programs.direnv = {
|
||||||
|
enable = true;
|
||||||
|
enableZshIntegration = lib.mkDefault true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
15
nixosModules/home_manager/git.nix
Normal file
15
nixosModules/home_manager/git.nix
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
{pkgs, config, lib, ...}:{
|
||||||
|
options.speccon18.home_manager.git.enable = lib.mkEnableOption "enables specs personal git preferences";
|
||||||
|
config = lib.mkIf config.speccon18.home_manager.git.enable {
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
userName = "specCon18";
|
||||||
|
userEmail = "steven.carpenter@skdevstudios.com";
|
||||||
|
extraConfig = {
|
||||||
|
init = {
|
||||||
|
defaultBranch = "main";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
146
nixosModules/home_manager/helix.nix
Normal file
146
nixosModules/home_manager/helix.nix
Normal file
|
|
@ -0,0 +1,146 @@
|
||||||
|
{ pkgs, config, lib, ...}:
|
||||||
|
{
|
||||||
|
options.speccon18.home_manager.helix.enable = lib.mkEnableOption "enables specs custom helix configuration";
|
||||||
|
config = lib.mkIf config.speccon18.home_manager.helix.enable {
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
nodePackages_latest.yaml-language-server
|
||||||
|
nodePackages_latest.bash-language-server
|
||||||
|
nodePackages_latest.vscode-langservers-extracted
|
||||||
|
nodePackages_latest.dockerfile-language-server-nodejs
|
||||||
|
nodePackages_latest.typescript
|
||||||
|
nodePackages_latest.typescript-language-server
|
||||||
|
nodePackages_latest.svelte-language-server
|
||||||
|
nodePackages_latest.vls
|
||||||
|
python311Packages.python-lsp-server
|
||||||
|
rnix-lsp
|
||||||
|
rust-analyzer
|
||||||
|
taplo
|
||||||
|
];
|
||||||
|
programs.helix = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
theme = "monokai_pro_octagon";
|
||||||
|
editor = {
|
||||||
|
line-number = "relative";
|
||||||
|
shell = ["zsh" "-c"];
|
||||||
|
completion-trigger-len = 0;
|
||||||
|
scroll-lines = 1;
|
||||||
|
scrolloff = 5;
|
||||||
|
cursorline = true;
|
||||||
|
cursor-shape = {
|
||||||
|
normal = "block";
|
||||||
|
insert = "bar";
|
||||||
|
select = "underline";
|
||||||
|
};
|
||||||
|
color-modes = true;
|
||||||
|
indent-guides.render = true;
|
||||||
|
file-picker.hidden = false;
|
||||||
|
auto-pairs = true;
|
||||||
|
lsp = {
|
||||||
|
enable = true;
|
||||||
|
display-messages = true;
|
||||||
|
auto-signature-help = true;
|
||||||
|
display-signature-help-docs = true;
|
||||||
|
snippets = true;
|
||||||
|
goto-reference-include-declaration = true;
|
||||||
|
};
|
||||||
|
statusline = {
|
||||||
|
mode = {
|
||||||
|
normal = "NORMAL";
|
||||||
|
insert = "INSERT";
|
||||||
|
select = "SELECT";
|
||||||
|
};
|
||||||
|
left = [ "mode" "separator" "spinner" "separator" "file-name" ];
|
||||||
|
right = [ "diagnostics" "position" "file-encoding" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
themes = {
|
||||||
|
monokai_pro_octagon = let
|
||||||
|
red = "#ff657a";
|
||||||
|
orange = "#ff9b5e";
|
||||||
|
yellow = "#ffd76d";
|
||||||
|
green = "#bad761";
|
||||||
|
blue = "#9cd1bb";
|
||||||
|
purple = "#c39ac9";
|
||||||
|
base0 = "#161821";
|
||||||
|
base1 = "#1e1f2b";
|
||||||
|
base2 = "#282a3a";
|
||||||
|
base3 = "#3a3d4b";
|
||||||
|
base4 = "#535763";
|
||||||
|
base5 = "#696d77";
|
||||||
|
base6 = "#767b81";
|
||||||
|
base7 = "#b2b9bd";
|
||||||
|
base8 = "#eaf2f1";
|
||||||
|
base8x0c = "#303342";
|
||||||
|
in {
|
||||||
|
"ui.linenr.selected" = { bg = base3; };
|
||||||
|
"ui.text.focus" = { fg = yellow; modifiers = ["bold"]; };
|
||||||
|
"ui.menu" = { fg = base8; bg = base3; };
|
||||||
|
"ui.menu.selected" = { fg = base2; bg = yellow; };
|
||||||
|
"ui.virtual.whitespace" = base5;
|
||||||
|
"ui.virtual.ruler" = { bg = base1; };
|
||||||
|
"info" = base8;
|
||||||
|
"hint" = base8;
|
||||||
|
"ui.background" = {};
|
||||||
|
"ui.statusline.inactive" = { fg = base8; bg = base8x0c; };
|
||||||
|
"ui.statusline" = { fg = base8; bg = base4; };
|
||||||
|
"ui.statusline.normal" = { fg = base4; bg = blue; };
|
||||||
|
"ui.statusline.insert" = { fg = base4; bg = green; };
|
||||||
|
"ui.statusline.select" = { fg = base4; bg = purple; };
|
||||||
|
"ui.popup" = { bg = base3; };
|
||||||
|
"ui.window" = { bg = base3; };
|
||||||
|
"ui.help" = { fg = base8; bg = base3; };
|
||||||
|
"ui.selection" = { bg = base4; };
|
||||||
|
"ui.cursor.match" = { bg = base4; };
|
||||||
|
"ui.cursorline" = { bg = base1; };
|
||||||
|
"comment" = { fg = base5; modifiers = ["italic"]; };
|
||||||
|
"ui.linenr" = { fg = base5; };
|
||||||
|
"ui.cursor.primary" = { fg = base7; modifiers = ["reversed"]; };
|
||||||
|
"attribute" = blue;
|
||||||
|
"variable" = base8;
|
||||||
|
"constant" = orange;
|
||||||
|
"variable.builtin" = red;
|
||||||
|
"constant.builtin" = red;
|
||||||
|
"namespace" = base8;
|
||||||
|
"ui.text" = { fg = base8; };
|
||||||
|
"punctuation" = base6;
|
||||||
|
"type" = green;
|
||||||
|
"type.builtin" = { fg = red; };
|
||||||
|
"label" = base8;
|
||||||
|
"constructor" = blue;
|
||||||
|
"function" = green;
|
||||||
|
"function.macro" = { fg = blue; };
|
||||||
|
"function.builtin" = { fg = "cyan"; };
|
||||||
|
"operator" = red;
|
||||||
|
"variable.other.member" = base8;
|
||||||
|
"keyword" = { fg = red; };
|
||||||
|
"keyword.directive" = blue;
|
||||||
|
"variable.parameter" = "#f59762";
|
||||||
|
"error" = red;
|
||||||
|
"special" = "#f59762";
|
||||||
|
"module" = "#f59762";
|
||||||
|
"warning" = "orange";
|
||||||
|
"constant.character.escape" = { fg = base8; };
|
||||||
|
"string" = yellow;
|
||||||
|
"constant.numeric" = purple;
|
||||||
|
"diff.plus" = green;
|
||||||
|
"diff.delta" = "orange";
|
||||||
|
"diff.minus" = red;
|
||||||
|
"diagnostic.warning" = { underline = { color = "orange"; style = "curl"; }; };
|
||||||
|
"diagnostic.error" = { underline = { color = red; style = "curl"; }; };
|
||||||
|
"diagnostic.info" = { underline = { color = base8; style = "curl"; }; };
|
||||||
|
"diagnostic.hint" = { underline = { color = base8; style = "curl"; }; };
|
||||||
|
"markup.heading" = green;
|
||||||
|
"markup.bold" = { fg = "orange"; modifiers = ["bold"]; };
|
||||||
|
"markup.italic" = { fg = "orange"; modifiers = ["italic"]; };
|
||||||
|
"markup.strikethrough" = { modifiers = ["crossed_out"]; };
|
||||||
|
"markup.link.url" = { fg = "orange"; modifiers = ["underlined"]; };
|
||||||
|
"markup.link.text" = yellow;
|
||||||
|
"markup.quote" = green;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
9
nixosModules/home_manager/home-mananger.nix
Normal file
9
nixosModules/home_manager/home-mananger.nix
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
{ pkgs, config, lib, ...}:
|
||||||
|
{
|
||||||
|
options.speccon18.home_manager.home-manager.enable = lib.mkEnableOption "enable home manager";
|
||||||
|
config = lib.mkIf config.speccon18.home_manager.home-manager.enable = true {
|
||||||
|
programs.home-manager = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
10
nixosModules/home_manager/ncspot.nix
Normal file
10
nixosModules/home_manager/ncspot.nix
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
{ pkgs, config, lib, ...}:
|
||||||
|
{
|
||||||
|
options.speccon18.home_manager.ncspot.enable = lib.mkEnableOption "enable ncspot";
|
||||||
|
config = lib.mkIf config.speccon18.home_manager.ncspot.enable {
|
||||||
|
programs.ncspot = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.ncspot;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
11
nixosModules/home_manager/rofi.nix
Normal file
11
nixosModules/home_manager/rofi.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
{ pkgs, config, lib, ...}:
|
||||||
|
{
|
||||||
|
options.speccon18.home_manager.rofi.enable = lib.mkEnableOption "enable specs custom rofi config for hyprland";
|
||||||
|
config = lib.mkIf config.speccon18.home_manager.rofi.enable {
|
||||||
|
programs.rofi = {
|
||||||
|
enable = true;
|
||||||
|
theme = "android_notification";
|
||||||
|
location = "top-left";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
10
nixosModules/home_manager/starship.nix
Normal file
10
nixosModules/home_manager/starship.nix
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
{ pkgs, config, lib, ...}:
|
||||||
|
{
|
||||||
|
options.speccon18.home_manager.enable = lib.mkEnableOption "enables specs custom starship config";
|
||||||
|
config = lib.mkIf config.speccon18.home_manager.enable {
|
||||||
|
programs.starship = {
|
||||||
|
enable = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
10
nixosModules/home_manager/syncthing.nix
Normal file
10
nixosModules/home_manager/syncthing.nix
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
{config, lib, pkgs, modulesPath, ... }:
|
||||||
|
{
|
||||||
|
options.speccon18.home_manager.syncthing.enable = lib.mkEnableOption "enable syncthing";
|
||||||
|
config = lib.mkIf config.speccon18.home_manager.syncthing.enable {
|
||||||
|
services.syncthing = {
|
||||||
|
enable = true;
|
||||||
|
tray.enable = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
124
nixosModules/home_manager/waybar.nix
Normal file
124
nixosModules/home_manager/waybar.nix
Normal file
|
|
@ -0,0 +1,124 @@
|
||||||
|
{ pkgs, config, lib, ...}:
|
||||||
|
{
|
||||||
|
options.speccon18.home_manager.waybar.enable = lib.mkEnableOption "enable specs custom waybar for hyprland";
|
||||||
|
config = lib.mkIf config.speccon18.home_manager.waybar.enable {
|
||||||
|
programs.waybar = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.waybar;
|
||||||
|
systemd = {
|
||||||
|
enable = true;
|
||||||
|
target = "hyprland-session.target";
|
||||||
|
};
|
||||||
|
settings = {
|
||||||
|
main_bar = {
|
||||||
|
layer = "top";
|
||||||
|
position = "top";
|
||||||
|
height = 40;
|
||||||
|
spacing = 8;
|
||||||
|
modules-left = [
|
||||||
|
"battery"
|
||||||
|
];
|
||||||
|
modules-center = [
|
||||||
|
"temperature"
|
||||||
|
];
|
||||||
|
modules-right = [
|
||||||
|
"backlight"
|
||||||
|
"cpu"
|
||||||
|
"memory"
|
||||||
|
"pulseaudio"
|
||||||
|
"network"
|
||||||
|
"clock"
|
||||||
|
];
|
||||||
|
keyboard-state = {
|
||||||
|
numlock = true;
|
||||||
|
capslock = true;
|
||||||
|
format = "{name} {icon}";
|
||||||
|
format-icons = {
|
||||||
|
locked = "";
|
||||||
|
unlocked = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
clock = {
|
||||||
|
timezone = "America/Detroit";
|
||||||
|
tooltip-format = "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
|
||||||
|
format-alt = "{:%d-%m-%Y}";
|
||||||
|
};
|
||||||
|
cpu = {
|
||||||
|
format = "{usage}% ";
|
||||||
|
tooltip = false;
|
||||||
|
};
|
||||||
|
memory = {
|
||||||
|
format = "{}% ";
|
||||||
|
};
|
||||||
|
temperature = {
|
||||||
|
thermal-zone = 2;
|
||||||
|
hwmon-path = "/sys/class/hwmon/hwmon2/temp1_input";
|
||||||
|
critical-threshold = 80;
|
||||||
|
format-critical = "{temperatureC}°C {icon}";
|
||||||
|
format = "{temperatureC}°C {icon}";
|
||||||
|
format-icons = ["" "" ""];
|
||||||
|
};
|
||||||
|
backlight = {
|
||||||
|
format = "{percent} {icon}";
|
||||||
|
format-icons = ["" "" "" "" "" "" "" "" ""];
|
||||||
|
};
|
||||||
|
battery = {
|
||||||
|
states = {
|
||||||
|
good = 95;
|
||||||
|
warning = 30;
|
||||||
|
critical = 15;
|
||||||
|
};
|
||||||
|
format = "{capacity}% {icon}";
|
||||||
|
format-charging = "{capacity}% ";
|
||||||
|
format-plugged = "{capacity}% ";
|
||||||
|
format-alt = "{time} {icon}";
|
||||||
|
format-good = "";
|
||||||
|
format-full = "";
|
||||||
|
format-icons = [
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"battery#bat2" = {
|
||||||
|
bat = "BAT";
|
||||||
|
};
|
||||||
|
network = {
|
||||||
|
format-wifi = "{essid} ({signalStrength}%) ";
|
||||||
|
format-ethernet = "{ipaddr}/{cidr} ";
|
||||||
|
tooltip-format = "{ifname} via {gwaddr} ";
|
||||||
|
format-linked = "{ifname} (No IP) ";
|
||||||
|
format-disconnected = "Disconnected ⚠";
|
||||||
|
format-alt = "{ifname}: {ipaddr}/{cidr}";
|
||||||
|
};
|
||||||
|
pulseaudio = {
|
||||||
|
scroll-step = 1;
|
||||||
|
format = "{volume}% {icon} {format_source}";
|
||||||
|
format-bluetooth = "{volume}% {icon} {format_source}";
|
||||||
|
format-bluetooth-muted = "{icon} {format_source}";
|
||||||
|
format-muted = " {format_source}";
|
||||||
|
format-source = "{volume}% ";
|
||||||
|
format-source-muted = "";
|
||||||
|
format-icons = {
|
||||||
|
headphone = "";
|
||||||
|
hands-free = "";
|
||||||
|
headset = "";
|
||||||
|
phone = "";
|
||||||
|
portable = "";
|
||||||
|
car = "";
|
||||||
|
default = [
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
];
|
||||||
|
};
|
||||||
|
on-click = "pavucontrol";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
style = builtins.readFile ./style.css;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
10
nixosModules/home_manager/zellij.nix
Normal file
10
nixosModules/home_manager/zellij.nix
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
{pkgs,config,lib,...}:
|
||||||
|
{
|
||||||
|
options.speccon18.home_manager.zellij.enable = lib.mkEnableOption "enable zellij";
|
||||||
|
config = lib.mkIf config.speccon18.home_manager.zellij.enable {
|
||||||
|
programs.zellij = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.zellij;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
10
nixosModules/home_manager/zoxide.nix
Normal file
10
nixosModules/home_manager/zoxide.nix
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
{pkgs,config,lib,...}:
|
||||||
|
{
|
||||||
|
options.speccon18.home_manager.zoxide.enable = lib.mkEnableOption "";
|
||||||
|
config = lib.mkIf config.speccon18.home_manager.zoxide.enable {
|
||||||
|
programs.zoxide = {
|
||||||
|
enable = true;
|
||||||
|
enableZshIntegration = lib.mkDefault true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
26
nixosModules/home_manager/zsh.nix
Normal file
26
nixosModules/home_manager/zsh.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
{ pkgs, config, lib, ...}:
|
||||||
|
{
|
||||||
|
options.speccon18.home_manager.zsh.enable = lib.mkEnableOption "enables specs zsh config";
|
||||||
|
config = lib.mkIf config.speccon18.home_manager.zsh.enable {
|
||||||
|
programs.zsh = {
|
||||||
|
enable = lib.mkDefault true;
|
||||||
|
dotDir = ".config/zsh";
|
||||||
|
history = {
|
||||||
|
path = "$ZDOTDIR/.zsh_history";
|
||||||
|
save = 10000000;
|
||||||
|
};
|
||||||
|
enableAutosuggestions = lib.mkDefault true;
|
||||||
|
enableCompletion = lib.mkDefault true;
|
||||||
|
syntaxHighlighting.enable = lib.mkDefault true;
|
||||||
|
shellAliases = {
|
||||||
|
ls = "eza -l";
|
||||||
|
lsa = "eza -al";
|
||||||
|
grep = "rg";
|
||||||
|
osrb = "sudo nixos-rebuild $1 --flake ~/code/nixos-config/#katana";
|
||||||
|
};
|
||||||
|
localVariables = {
|
||||||
|
EDITOR="hx";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
9
nixosModules/services/default.nix
Normal file
9
nixosModules/services/default.nix
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
{pkgs,config,...}:{
|
||||||
|
imports = [
|
||||||
|
./tailscale.nix
|
||||||
|
./pipewire.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
speccon18.tailscale.enable = true;
|
||||||
|
speccon18.sound.pipewire.enable = true;
|
||||||
|
}
|
||||||
23
nixosModules/services/pipewire.nix
Normal file
23
nixosModules/services/pipewire.nix
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
# https://nixos.wiki/wiki/PipeWire
|
||||||
|
{pkgs,config,lib, ...}:
|
||||||
|
{
|
||||||
|
options.speccon18.sound.pipewire.enable = lib.mkEnableOption "enable pipewire with jack integrations";
|
||||||
|
|
||||||
|
config = lib.mkIf config.speccon18.sound.pipewire.enable {
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
pipewire
|
||||||
|
wireplumber
|
||||||
|
];
|
||||||
|
# rtkit is optional but recommended
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa = {
|
||||||
|
enable = true;
|
||||||
|
support32Bit = true;
|
||||||
|
};
|
||||||
|
pulse.enable = true;
|
||||||
|
jack.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
13
nixosModules/services/tailscale.nix
Normal file
13
nixosModules/services/tailscale.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
{ pkgs, config, lib, ... }: {
|
||||||
|
|
||||||
|
options.speccon18.tailscale.enable = lib.mkEnableOption "enables the tailscale service and sets the package to use";
|
||||||
|
|
||||||
|
config = lib.mkIf config.speccon18.tailscale.enable {
|
||||||
|
# make the tailscale command usable to users
|
||||||
|
environment.systemPackages = with pkgs;[
|
||||||
|
pkgs.tailscale
|
||||||
|
];
|
||||||
|
# enable the tailscale service
|
||||||
|
services.tailscale.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
7
nixosModules/users/default.nix
Normal file
7
nixosModules/users/default.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
{pkgs, lib, ...}: {
|
||||||
|
imports = [
|
||||||
|
./speccon18.nix
|
||||||
|
];
|
||||||
|
speccon18.enable = true;
|
||||||
|
speccon18.home_manager.enable = true;
|
||||||
|
}
|
||||||
48
nixosModules/users/speccon18.nix
Normal file
48
nixosModules/users/speccon18.nix
Normal file
|
|
@ -0,0 +1,48 @@
|
||||||
|
{pkgs, lib, config, ... }: {
|
||||||
|
|
||||||
|
#Create new nixos options
|
||||||
|
options = {
|
||||||
|
speccon18.enable = lib.mkEnableOption "enables the speccon18 administrator user";
|
||||||
|
speccon18.home_manager.enable = lib.mkEnableOption "enables home-manager support for the speccon18 administrator user";
|
||||||
|
};
|
||||||
|
|
||||||
|
#Declare already defined nixos options and enable if the above mkEnable options parameter is ture
|
||||||
|
config = lib.mkIf config.speccon18.enable {
|
||||||
|
programs.zsh.enable = true;
|
||||||
|
users.users.speccon18 = {
|
||||||
|
shell = pkgs.zsh;
|
||||||
|
isNormalUser = true;
|
||||||
|
initialHashedPassword = "$y$j9T$RdLBHOvUpb17egl0d16LT/$3Y2RD/tT1IZ0nkfAR13pp3IzBjvKLRgGpDPLobUeO23";
|
||||||
|
openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIrZpH5QV62dtTb2yx5I3PF2lJyNpPkV57pDlo6xawID" ];
|
||||||
|
description = "Steven Carpenter";
|
||||||
|
extraGroups = [ "wheel" ];
|
||||||
|
};
|
||||||
|
home = lib.mkIf config.speccon18.home_manager.enable {
|
||||||
|
username = "speccon18";
|
||||||
|
homeDirectory = "/home/speccon18";
|
||||||
|
|
||||||
|
# This value determines the Home Manager release that your
|
||||||
|
# configuration is compatible with. This helps avoid breakage
|
||||||
|
# when a new Home Manager release introduces backwards
|
||||||
|
# incompatible changes.
|
||||||
|
#
|
||||||
|
# You can update Home Manager without changing this value. See
|
||||||
|
# the Home Manager release notes for a list of state version
|
||||||
|
# changes in each release.
|
||||||
|
stateVersion = "22.11";
|
||||||
|
packages = with pkgs; [
|
||||||
|
freecad
|
||||||
|
calibre
|
||||||
|
bitwarden
|
||||||
|
firefox
|
||||||
|
discord
|
||||||
|
gimp
|
||||||
|
obsidian
|
||||||
|
neofetch
|
||||||
|
vlc
|
||||||
|
remmina
|
||||||
|
];
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
0
todo.md
Normal file
0
todo.md
Normal file
|
|
@ -1,12 +0,0 @@
|
||||||
{ config, pkgs, lib, ... }:
|
|
||||||
{
|
|
||||||
users.users.arouzing = {
|
|
||||||
isNormalUser = true;
|
|
||||||
initialHashedPassword = "$6$tucSnzN8mqHQo/Fd$Q/RtaTpoXN0xnlLAFy6ohWWYuTYd54CXaCrocV1vgFRQVuONga1LyzwdJ0vXa.NT6MRcO7IXNQ3YeURJsSdP61";
|
|
||||||
openssh.authorizedKeys.keys = [
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJAGm66rJsr8vjRCYDkH4lEPncPq27o6BHzpmRmkzOiM"
|
|
||||||
];
|
|
||||||
description = "admin";
|
|
||||||
extraGroups = [ "wheel" "docker" ];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
||||||
{ config, pkgs, lib, ... }:
|
|
||||||
{
|
|
||||||
programs.zsh.enable = true;
|
|
||||||
users.users.speccon18 = {
|
|
||||||
shell = pkgs.zsh;
|
|
||||||
isNormalUser = true;
|
|
||||||
initialHashedPassword = "$y$j9T$RdLBHOvUpb17egl0d16LT/$3Y2RD/tT1IZ0nkfAR13pp3IzBjvKLRgGpDPLobUeO23";
|
|
||||||
openssh.authorizedKeys.keys = [
|
|
||||||
];
|
|
||||||
description = "Steven Carpenter";
|
|
||||||
extraGroups = [
|
|
||||||
"wheel"
|
|
||||||
"docker"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
services.xremap = {
|
|
||||||
withWlroots = true;
|
|
||||||
userName = "speccon18";
|
|
||||||
config = {
|
|
||||||
keymap = [
|
|
||||||
{
|
|
||||||
name = "Global";
|
|
||||||
remap = {
|
|
||||||
"CapsLock" = "Esc";
|
|
||||||
"Print" = {
|
|
||||||
launch = [ "zsh" "-c" "grim -o /home/speccon18/Pictures/$(date +'%s_grim.png') -g $(slurp) -t png" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,30 +0,0 @@
|
||||||
{ pkgs, config, lib, ... }:
|
|
||||||
{
|
|
||||||
home = {
|
|
||||||
username = "speccon18";
|
|
||||||
homeDirectory = "/home/speccon18";
|
|
||||||
|
|
||||||
# This value determines the Home Manager release that your
|
|
||||||
# configuration is compatible with. This helps avoid breakage
|
|
||||||
# when a new Home Manager release introduces backwards
|
|
||||||
# incompatible changes.
|
|
||||||
#
|
|
||||||
# You can update Home Manager without changing this value. See
|
|
||||||
# the Home Manager release notes for a list of state version
|
|
||||||
# changes in each release.
|
|
||||||
stateVersion = "22.11";
|
|
||||||
|
|
||||||
packages = with pkgs; [
|
|
||||||
freecad
|
|
||||||
calibre
|
|
||||||
bitwarden
|
|
||||||
firefox
|
|
||||||
discord
|
|
||||||
gimp
|
|
||||||
# obsidian
|
|
||||||
neofetch
|
|
||||||
vlc
|
|
||||||
remmina
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue