diff --git a/.sops.yaml b/.sops.yaml deleted file mode 100644 index f803171..0000000 --- a/.sops.yaml +++ /dev/null @@ -1,55 +0,0 @@ -keys: - - &users - - &tux age14vktfes95f33vuefwnmuvryas7az04u76dsgyhfvsx73czkvmp2q7njkl4 - - - &hosts - - &sirius age1d3t78xlqd0erlqj2m9947l9eqwpge3zrperljw3xrshh0gjx4ghs8tuqcu - - &canopus age1udt3cssu7ahdrhsvckt8450rswrr6mknn36xpq74dkfp9lpajvnq84kdzj - - &homelab age1jg642q775gmnmxeu29gcf3lph8vem4xr8t84cxe809dpd0myrussh49h60 - - &arcturus age1zsl5d4vj6gl3h96y5p53sq5y4vr4vtlwp727h7rp9a4xfkxm53lqrh6r50 - - &alpha age145uq9emlxqzm3wqauy9zqj78wqx9e6h09xag6wust7jjgn4upfzsaemcvx - - &vega age1ydkclhk9kwqdq74utesqdfupt43lz64d5k65gz2z9uyljcqq9fcq3hv28l - - &capella age1sjnqsxdqyqngt52asc4cmrf0nkvmxvp8v4zrvrmtuftz3uffyskszjhqm5 - -creation_rules: - - path_regex: hosts/common/secrets.yaml$ - key_groups: - - age: - - *tux - - *sirius - - *canopus - - *homelab - - *arcturus - - *alpha - - *vega - - *capella - - path_regex: hosts/sirius/secrets.yaml$ - key_groups: - - age: - - *tux - - *sirius - - path_regex: hosts/canopus/secrets.yaml$ - key_groups: - - age: - - *tux - - *canopus - - path_regex: hosts/arcturus/secrets.yaml$ - key_groups: - - age: - - *tux - - *arcturus - - path_regex: hosts/alpha/secrets.yaml$ - key_groups: - - age: - - *tux - - *alpha - - path_regex: hosts/capella/secrets.yaml$ - key_groups: - - age: - - *tux - - *capella - - path_regex: hosts/homelab/secrets.yaml$ - key_groups: - - age: - - *tux - - *homelab diff --git a/pkgs/awesome/default.nix b/default.nix similarity index 73% rename from pkgs/awesome/default.nix rename to default.nix index 324b9f4..d383752 100644 --- a/pkgs/awesome/default.nix +++ b/default.nix @@ -2,10 +2,10 @@ stdenv, lib, }: let - awesome = ./awesome; + awesome = ./src; in stdenv.mkDerivation { - pname = "tux-awesome-wm-config"; + pname = "tawm"; version = "0.1.0"; buildCommand = '' @@ -14,7 +14,7 @@ in ''; meta = with lib; { - description = "tux's awesome-wm config"; + description = "tux's awesomeWM config"; homepage = "https://tux.rs"; platforms = platforms.all; license = licenses.gpl3; diff --git a/flake.lock b/flake.lock old mode 100755 new mode 100644 index e25238f..e604777 --- a/flake.lock +++ b/flake.lock @@ -1,525 +1,12 @@ { "nodes": { - "cyber-tux": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1739498566, - "narHash": "sha256-jKDn7/6o/ofpuGG6l4ZmXTgezAgquUjxzi+/kK83jzw=", - "ref": "refs/heads/main", - "rev": "388a7b8469a68c87a81610fdfa475e8102333db1", - "revCount": 6, - "type": "git", - "url": "ssh://git@github.com/tuxdotrs/cyber-tux.git" - }, - "original": { - "type": "git", - "url": "ssh://git@github.com/tuxdotrs/cyber-tux.git" - } - }, - "deploy-rs": { - "inputs": { - "flake-compat": "flake-compat", - "nixpkgs": "nixpkgs", - "utils": "utils" - }, - "locked": { - "lastModified": 1727447169, - "narHash": "sha256-3KyjMPUKHkiWhwR91J1YchF6zb6gvckCAY1jOE+ne0U=", - "owner": "serokell", - "repo": "deploy-rs", - "rev": "aa07eb05537d4cd025e2310397a6adcedfe72c76", - "type": "github" - }, - "original": { - "owner": "serokell", - "repo": "deploy-rs", - "type": "github" - } - }, - "disko": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1738765162, - "narHash": "sha256-3Z40qHaFScWUCVQrGc4Y+RdoPsh1R/wIh+AN4cTXP0I=", - "owner": "nix-community", - "repo": "disko", - "rev": "ff3568858c54bd306e9e1f2886f0f781df307dff", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "disko", - "type": "github" - } - }, - "emacs": { - "inputs": { - "nixpkgs": "nixpkgs_3", - "nixpkgs-stable": "nixpkgs-stable_2" - }, - "locked": { - "lastModified": 1738809425, - "narHash": "sha256-bGRsRKHhHBrG8EcJgsRAkFqVzMm2zIS+yns7rdCzvu8=", - "owner": "nix-community", - "repo": "emacs-overlay", - "rev": "590d6ecac05c53ae8a87af317efa06f4a99ab116", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "emacs-overlay", - "type": "github" - } - }, - "fenix": { - "inputs": { - "nixpkgs": [ - "nixpkgs-f2k", - "nixpkgs-fmt", - "nixpkgs" - ], - "rust-analyzer-src": "rust-analyzer-src" - }, - "locked": { - "lastModified": 1637475807, - "narHash": "sha256-E3nzOvlzZXwyo8Stp5upKsTCDcqUTYAFj4EC060A31c=", - "owner": "nix-community", - "repo": "fenix", - "rev": "960e7fef45692a4fffc6df6d6b613b0399bbdfd5", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "fenix", - "type": "github" - } - }, - "flake-compat": { - "flake": false, - "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_2": { - "flake": false, - "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_3": { - "flake": false, - "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_4": { - "flake": false, - "locked": { - "lastModified": 1733328505, - "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-parts": { - "inputs": { - "nixpkgs-lib": [ - "nur", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1733312601, - "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-utils": { - "inputs": { - "systems": "systems_2" - }, - "locked": { - "lastModified": 1705309234, - "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_2": { - "inputs": { - "systems": "systems_3" - }, - "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_3": { - "locked": { - "lastModified": 1637014545, - "narHash": "sha256-26IZAc5yzlD9FlDT54io1oqG/bBoyka+FJk5guaX4x4=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "bba5dcc8e0b20ab664967ad83d24d64cb64ec4f4", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_4": { - "inputs": { - "systems": "systems_4" - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "freetype2": { - "flake": false, - "locked": { - "lastModified": 1723459814, - "narHash": "sha256-4l90lDtpgm5xlh2m7ifrqNy373DTRTULRkAzicrM93c=", - "owner": "freetype", - "repo": "freetype", - "rev": "42608f77f20749dd6ddc9e0536788eaad70ea4b5", - "type": "github" - }, - "original": { - "owner": "freetype", - "ref": "VER-2-13-3", - "repo": "freetype", - "type": "github" - } - }, - "ghostty": { - "inputs": { - "flake-compat": "flake-compat_2", - "nixpkgs-stable": "nixpkgs-stable", - "nixpkgs-unstable": "nixpkgs-unstable", - "zig": "zig" - }, - "locked": { - "lastModified": 1738781852, - "narHash": "sha256-fTr3m5Ktg1vWeAbscpYS7BTjOIACXMjkG1xazeRGvAc=", - "owner": "ghostty-org", - "repo": "ghostty", - "rev": "4eb588501735e2df2910b54ed0dc8ad934b5d42f", - "type": "github" - }, - "original": { - "owner": "ghostty-org", - "repo": "ghostty", - "type": "github" - } - }, - "harfbuzz": { - "flake": false, - "locked": { - "lastModified": 1719502711, - "narHash": "sha256-2ieCf3ftNk851FZBDPVl+7QHWBqD729KiUxUyxi26Yg=", - "owner": "harfbuzz", - "repo": "harfbuzz", - "rev": "9c03576c49db6e7207d9bcdfe3abd170a809157f", - "type": "github" - }, - "original": { - "owner": "harfbuzz", - "ref": "9.0.0", - "repo": "harfbuzz", - "type": "github" - } - }, - "home-manager": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1738841109, - "narHash": "sha256-sEgE3nifaRU5gfAx33ds0tx/j+qM0/5/bHopv/w6c0c=", - "owner": "nix-community", - "repo": "home-manager", - "rev": "f99c704fe3a4cf8d72b2d568ec80bc38be1a9407", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "home-manager", - "type": "github" - } - }, - "impermanence": { - "locked": { - "lastModified": 1737831083, - "narHash": "sha256-LJggUHbpyeDvNagTUrdhe/pRVp4pnS6wVKALS782gRI=", - "owner": "nix-community", - "repo": "impermanence", - "rev": "4b3e914cdf97a5b536a889e939fb2fd2b043a170", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "impermanence", - "type": "github" - } - }, - "libpng": { - "flake": false, - "locked": { - "lastModified": 1726173884, - "narHash": "sha256-gBfHgGaqVYdmhWXoNKZzPyGzyw2rr3zp+DjWmfC41jk=", - "owner": "pnggroup", - "repo": "libpng", - "rev": "f5e92d76973a7a53f517579bc95d61483bf108c0", - "type": "github" - }, - "original": { - "owner": "pnggroup", - "ref": "v1.6.44", - "repo": "libpng", - "type": "github" - } - }, - "nix-formatter-pack": { - "inputs": { - "nixpkgs": [ - "nix-on-droid", - "nixpkgs" - ], - "nmd": "nmd", - "nmt": "nmt" - }, - "locked": { - "lastModified": 1705252799, - "narHash": "sha256-HgSTREh7VoXjGgNDwKQUYcYo13rPkltW7IitHrTPA5c=", - "owner": "Gerschtli", - "repo": "nix-formatter-pack", - "rev": "2de39dedd79aab14c01b9e2934842051a160ffa5", - "type": "github" - }, - "original": { - "owner": "Gerschtli", - "repo": "nix-formatter-pack", - "type": "github" - } - }, - "nix-index-database": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1740281615, - "narHash": "sha256-dZWcbAQ1sF8oVv+zjSKkPVY0ebwENQEkz5vc6muXbKY=", - "owner": "nix-community", - "repo": "nix-index-database", - "rev": "465792533d03e6bb9dc849d58ab9d5e31fac9023", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nix-index-database", - "type": "github" - } - }, - "nix-on-droid": { - "inputs": { - "home-manager": [ - "home-manager" - ], - "nix-formatter-pack": "nix-formatter-pack", - "nixpkgs": [ - "nixpkgs" - ], - "nixpkgs-docs": "nixpkgs-docs", - "nixpkgs-for-bootstrap": "nixpkgs-for-bootstrap", - "nmd": "nmd_2" - }, - "locked": { - "lastModified": 1720396533, - "narHash": "sha256-UFzk/hZWO1VkciIO5UPaSpJN8s765wsngUSvtJM6d5Q=", - "owner": "nix-community", - "repo": "nix-on-droid", - "rev": "f3d3b8294039f2f9a8fb7ea82c320f29c6b0fe25", - "type": "github" - }, - "original": { - "owner": "nix-community", - "ref": "release-24.05", - "repo": "nix-on-droid", - "type": "github" - } - }, - "nix-secrets": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1738161919, - "narHash": "sha256-EKyY5XwFmgkEYElZEpNGEl6UsJO4jYvqtzZYtQPvD18=", - "ref": "refs/heads/main", - "rev": "5f6314b52859812eb877b54ddf158098cf21c8c0", - "shallow": true, - "type": "git", - "url": "ssh://git@github.com/tuxdotrs/nix-secrets.git" - }, - "original": { - "shallow": true, - "type": "git", - "url": "ssh://git@github.com/tuxdotrs/nix-secrets.git" - } - }, - "nix-vscode-extensions": { - "inputs": { - "flake-compat": "flake-compat_3", - "flake-utils": "flake-utils_2", - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1738806509, - "narHash": "sha256-WvAgrkWYQOXKEkrhmbtQjgMPRhm1HCDbGgg/MCDHkQE=", - "owner": "nix-community", - "repo": "nix-vscode-extensions", - "rev": "d3354254f4d75d5ae5de58ee5b03c5bdbbb627c0", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nix-vscode-extensions", - "type": "github" - } - }, - "nixos-hardware": { - "locked": { - "lastModified": 1738816619, - "narHash": "sha256-5yRlg48XmpcX5b5HesdGMOte+YuCy9rzQkJz+imcu6I=", - "owner": "nixos", - "repo": "nixos-hardware", - "rev": "2eccff41bab80839b1d25b303b53d339fbb07087", - "type": "github" - }, - "original": { - "owner": "nixos", - "repo": "nixos-hardware", - "type": "github" - } - }, - "nixos-wsl": { - "inputs": { - "flake-compat": "flake-compat_4", - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1736095716, - "narHash": "sha256-csysw/Szu98QDiA2lhWk9seYOyCebeVEWL89zh1cduM=", - "owner": "nix-community", - "repo": "nixos-wsl", - "rev": "63c3b4ed1712a3a0621002cd59bfdc80875ecbb0", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixos-wsl", - "type": "github" - } - }, "nixpkgs": { "locked": { - "lastModified": 1702272962, - "narHash": "sha256-D+zHwkwPc6oYQ4G3A1HuadopqRwUY/JkMwHz1YF7j4Q=", + "lastModified": 1740547748, + "narHash": "sha256-Ly2fBL1LscV+KyCqPRufUBuiw+zmWrlJzpWOWbahplg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e97b3e4186bcadf0ef1b6be22b8558eab1cdeb5d", + "rev": "3a05eebede89661660945da1f151959900903b6a", "type": "github" }, "original": { @@ -529,613 +16,9 @@ "type": "github" } }, - "nixpkgs-docs": { - "locked": { - "lastModified": 1705957679, - "narHash": "sha256-Q8LJaVZGJ9wo33wBafvZSzapYsjOaNjP/pOnSiKVGHY=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "9a333eaa80901efe01df07eade2c16d183761fa3", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "release-23.05", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-f2k": { - "inputs": { - "emacs": "emacs", - "nixpkgs": "nixpkgs_4", - "nixpkgs-fmt": "nixpkgs-fmt", - "parts": "parts" - }, - "locked": { - "lastModified": 1738810169, - "narHash": "sha256-Q5xQXqV3u/8ISuItfhUlgpqn9UVotpmjSDh0FAtCyQM=", - "owner": "moni-dz", - "repo": "nixpkgs-f2k", - "rev": "4b928a68bc436d3bf4187bb2e1c7184b951ac9a8", - "type": "github" - }, - "original": { - "owner": "moni-dz", - "repo": "nixpkgs-f2k", - "type": "github" - } - }, - "nixpkgs-fmt": { - "inputs": { - "fenix": "fenix", - "flake-utils": "flake-utils_3", - "nixpkgs": [ - "nixpkgs-f2k", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1721822211, - "narHash": "sha256-zacOgNv3qM3AbSG3p5PT/Bfc4c7NoIqoLII8/jIUsOQ=", - "owner": "nix-community", - "repo": "nixpkgs-fmt", - "rev": "bdb15b4c7e0cb49ae091dd43113d0a938afae02c", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixpkgs-fmt", - "type": "github" - } - }, - "nixpkgs-for-bootstrap": { - "locked": { - "lastModified": 1720244366, - "narHash": "sha256-WrDV0FPMVd2Sq9hkR5LNHudS3OSMmUrs90JUTN+MXpA=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "49ee0e94463abada1de470c9c07bfc12b36dcf40", - "type": "github" - }, - "original": { - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "49ee0e94463abada1de470c9c07bfc12b36dcf40", - "type": "github" - } - }, - "nixpkgs-lib": { - "locked": { - "lastModified": 1738452942, - "narHash": "sha256-vJzFZGaCpnmo7I6i416HaBLpC+hvcURh/BQwROcGIp8=", - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz" - }, - "original": { - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz" - } - }, - "nixpkgs-stable": { - "locked": { - "lastModified": 1733423277, - "narHash": "sha256-TxabjxEgkNbCGFRHgM/b9yZWlBj60gUOUnRT/wbVQR8=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "e36963a147267afc055f7cf65225958633e536bf", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "release-24.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-stable_2": { - "locked": { - "lastModified": 1738702386, - "narHash": "sha256-nJj8f78AYAxl/zqLiFGXn5Im1qjFKU8yBPKoWEeZN5M=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "030ba1976b7c0e1a67d9716b17308ccdab5b381e", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-24.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-stable_3": { - "locked": { - "lastModified": 1738849593, - "narHash": "sha256-6GcxEgw4MnMnJhhJN6W+bYI8T2FQyztOO3cr1eiFYUs=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "105c0fb69d91a878eaeccf22b9ecbb0a3db09758", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "release-24.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-unstable": { - "locked": { - "lastModified": 1733229606, - "narHash": "sha256-FLYY5M0rpa5C2QAE3CKLYAM6TwbKicdRK6qNrSHlNrE=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "566e53c2ad750c84f6d31f9ccb9d00f823165550", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_2": { - "locked": { - "lastModified": 1738680400, - "narHash": "sha256-ooLh+XW8jfa+91F1nhf9OF7qhuA/y1ChLx6lXDNeY5U=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "799ba5bffed04ced7067a91798353d360788b30d", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_3": { - "locked": { - "lastModified": 1738680400, - "narHash": "sha256-ooLh+XW8jfa+91F1nhf9OF7qhuA/y1ChLx6lXDNeY5U=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "799ba5bffed04ced7067a91798353d360788b30d", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_4": { - "locked": { - "lastModified": 1738806785, - "narHash": "sha256-OO2KdshE3sPEc/GHt7a8ccCQIK+rJQ2PeUwGgeUtew4=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "fca711ae287d4e2405f83b14c783fc7b094bffdd", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "master", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_5": { - "locked": { - "lastModified": 1738680400, - "narHash": "sha256-ooLh+XW8jfa+91F1nhf9OF7qhuA/y1ChLx6lXDNeY5U=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "799ba5bffed04ced7067a91798353d360788b30d", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_6": { - "locked": { - "lastModified": 1731763621, - "narHash": "sha256-ddcX4lQL0X05AYkrkV2LMFgGdRvgap7Ho8kgon3iWZk=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "c69a9bffbecde46b4b939465422ddc59493d3e4d", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nmd": { - "flake": false, - "locked": { - "lastModified": 1666190571, - "narHash": "sha256-Z1hc7M9X6L+H83o9vOprijpzhTfOBjd0KmUTnpHAVjA=", - "owner": "rycee", - "repo": "nmd", - "rev": "b75d312b4f33bd3294cd8ae5c2ca8c6da2afc169", - "type": "gitlab" - }, - "original": { - "owner": "rycee", - "repo": "nmd", - "type": "gitlab" - } - }, - "nmd_2": { - "inputs": { - "nixpkgs": [ - "nix-on-droid", - "nixpkgs-docs" - ], - "scss-reset": "scss-reset" - }, - "locked": { - "lastModified": 1705050560, - "narHash": "sha256-x3zzcdvhJpodsmdjqB4t5mkVW22V3wqHLOun0KRBzUI=", - "owner": "~rycee", - "repo": "nmd", - "rev": "66d9334933119c36f91a78d565c152a4fdc8d3d3", - "type": "sourcehut" - }, - "original": { - "owner": "~rycee", - "repo": "nmd", - "type": "sourcehut" - } - }, - "nmt": { - "flake": false, - "locked": { - "lastModified": 1648075362, - "narHash": "sha256-u36WgzoA84dMVsGXzml4wZ5ckGgfnvS0ryzo/3zn/Pc=", - "owner": "rycee", - "repo": "nmt", - "rev": "d83601002c99b78c89ea80e5e6ba21addcfe12ae", - "type": "gitlab" - }, - "original": { - "owner": "rycee", - "repo": "nmt", - "type": "gitlab" - } - }, - "nur": { - "inputs": { - "flake-parts": "flake-parts", - "nixpkgs": "nixpkgs_5", - "treefmt-nix": "treefmt-nix" - }, - "locked": { - "lastModified": 1738847099, - "narHash": "sha256-xgra/fmOyFA1/4Ao9qpcoAz6keAdbLBcMqfxGyYNV1A=", - "owner": "nix-community", - "repo": "nur", - "rev": "b7bac25a408bfbe2b55b82b612ebf364e561568c", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nur", - "type": "github" - } - }, - "parts": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib" - }, - "locked": { - "lastModified": 1738453229, - "narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, "root": { "inputs": { - "cyber-tux": "cyber-tux", - "deploy-rs": "deploy-rs", - "disko": "disko", - "ghostty": "ghostty", - "home-manager": "home-manager", - "impermanence": "impermanence", - "nix-index-database": "nix-index-database", - "nix-on-droid": "nix-on-droid", - "nix-secrets": "nix-secrets", - "nix-vscode-extensions": "nix-vscode-extensions", - "nixos-hardware": "nixos-hardware", - "nixos-wsl": "nixos-wsl", - "nixpkgs": "nixpkgs_2", - "nixpkgs-f2k": "nixpkgs-f2k", - "nixpkgs-stable": "nixpkgs-stable_3", - "nur": "nur", - "sops-nix": "sops-nix", - "tfolio": "tfolio", - "wezterm-flake": "wezterm-flake" - } - }, - "rust-analyzer-src": { - "flake": false, - "locked": { - "lastModified": 1637439871, - "narHash": "sha256-2awQ/obzl7zqYgLwbQL0zT58gN8Xq7n+81GcMiS595I=", - "owner": "rust-analyzer", - "repo": "rust-analyzer", - "rev": "4566414789310acb2617543f4b50beab4bb48e06", - "type": "github" - }, - "original": { - "owner": "rust-analyzer", - "ref": "nightly", - "repo": "rust-analyzer", - "type": "github" - } - }, - "rust-overlay": { - "inputs": { - "nixpkgs": [ - "wezterm-flake", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1735871325, - "narHash": "sha256-6Ta5E4mhSfCP6LdkzkG2+BciLOCPeLKuYTJ6lOHW+mI=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "a599f011db521766cbaf7c2f5874182485554f00", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, - "scss-reset": { - "flake": false, - "locked": { - "lastModified": 1631450058, - "narHash": "sha256-muDlZJPtXDIGevSEWkicPP0HQ6VtucbkMNygpGlBEUM=", - "owner": "andreymatin", - "repo": "scss-reset", - "rev": "0cf50e27a4e95e9bb5b1715eedf9c54dee1a5a91", - "type": "github" - }, - "original": { - "owner": "andreymatin", - "repo": "scss-reset", - "type": "github" - } - }, - "sops-nix": { - "inputs": { - "nixpkgs": "nixpkgs_6" - }, - "locked": { - "lastModified": 1738291974, - "narHash": "sha256-wkwYJc8cKmmQWUloyS9KwttBnja2ONRuJQDEsmef320=", - "owner": "Mic92", - "repo": "sops-nix", - "rev": "4c1251904d8a08c86ac6bc0d72cc09975e89aef7", - "type": "github" - }, - "original": { - "owner": "Mic92", - "repo": "sops-nix", - "type": "github" - } - }, - "systems": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_2": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_3": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_4": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "tfolio": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1740197906, - "narHash": "sha256-G4H/c91GlHhUG7joDXxmvtcWz1xepzwRR4J+gQGLH+k=", - "ref": "refs/heads/main", - "rev": "23cf45aa50e8db9533d8ca432bcd7b4d2bc2b421", - "revCount": 13, - "type": "git", - "url": "ssh://git@github.com/tuxdotrs/tfolio.git" - }, - "original": { - "type": "git", - "url": "ssh://git@github.com/tuxdotrs/tfolio.git" - } - }, - "treefmt-nix": { - "inputs": { - "nixpkgs": [ - "nur", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1733222881, - "narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "49717b5af6f80172275d47a418c9719a31a78b53", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } - }, - "utils": { - "inputs": { - "systems": "systems" - }, - "locked": { - "lastModified": 1701680307, - "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "wezterm-flake": { - "inputs": { - "flake-utils": "flake-utils_4", - "freetype2": "freetype2", - "harfbuzz": "harfbuzz", - "libpng": "libpng", - "nixpkgs": [ - "nixpkgs" - ], - "rust-overlay": "rust-overlay", - "zlib": "zlib" - }, - "locked": { - "dir": "nix", - "lastModified": 1738379806, - "narHash": "sha256-3dkZt53Lr90wQOCPlDHAZn5t0G6n56t+JXW66+vviTE=", - "owner": "wez", - "repo": "wezterm", - "rev": "b28bbbc4c8345197e433590c9ce50a7bf3ea5bc7", - "type": "github" - }, - "original": { - "dir": "nix", - "owner": "wez", - "ref": "main", - "repo": "wezterm", - "type": "github" - } - }, - "zig": { - "inputs": { - "flake-compat": [ - "ghostty" - ], - "flake-utils": "flake-utils", - "nixpkgs": [ - "ghostty", - "nixpkgs-stable" - ] - }, - "locked": { - "lastModified": 1717848532, - "narHash": "sha256-d+xIUvSTreHl8pAmU1fnmkfDTGQYCn2Rb/zOwByxS2M=", - "owner": "mitchellh", - "repo": "zig-overlay", - "rev": "02fc5cc555fc14fda40c42d7c3250efa43812b43", - "type": "github" - }, - "original": { - "owner": "mitchellh", - "repo": "zig-overlay", - "type": "github" - } - }, - "zlib": { - "flake": false, - "locked": { - "lastModified": 1705948357, - "narHash": "sha256-TkPLWSN5QcPlL9D0kc/yhH0/puE9bFND24aj5NVDKYs=", - "owner": "madler", - "repo": "zlib", - "rev": "51b7f2abdade71cd9bb0e7a373ef2610ec6f9daf", - "type": "github" - }, - "original": { - "owner": "madler", - "ref": "v1.3.1", - "repo": "zlib", - "type": "github" + "nixpkgs": "nixpkgs" } } }, diff --git a/flake.nix b/flake.nix index 0658ad7..8d30aa5 100755 --- a/flake.nix +++ b/flake.nix @@ -1,148 +1,23 @@ { - description = "tux's Nix Flake"; + description = "tux's awesomeWM configuration"; + inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; outputs = { self, nixpkgs, - deploy-rs, - ... - } @ inputs: let - inherit (self) outputs; - inherit (inputs.nixpkgs.lib) nixosSystem; - inherit (inputs.nix-on-droid.lib) nixOnDroidConfiguration; - forAllSystems = nixpkgs.lib.genAttrs [ + }: let + systems = [ "x86_64-linux" "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" ]; - username = "tux"; - email = "t@tux.rs"; - mkNixOSConfig = host: { - specialArgs = {inherit inputs outputs username email;}; - modules = [./hosts/${host}]; - }; - - mkDroidConfig = host: { - pkgs = import nixpkgs {system = "aarch64-linux";}; - extraSpecialArgs = {inherit inputs outputs username email;}; - modules = [./hosts/${host}]; - }; - - mkNixOSNode = hostname: { - inherit hostname; - profiles.system = { - user = "root"; - path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.${hostname}; - }; - }; - - activateNixOnDroid = configuration: - deploy-rs.lib.aarch64-linux.activate.custom - configuration.activationPackage - "${configuration.activationPackage}/activate"; - - mkDroidNode = hostname: { - inherit hostname; - profiles.system = { - sshUser = "nix-on-droid"; - user = "nix-on-droid"; - magicRollback = true; - sshOpts = ["-p" "8022"]; - path = activateNixOnDroid self.nixOnDroidConfigurations.${hostname}; - }; - }; + forAllSystems = function: nixpkgs.lib.genAttrs systems (system: function nixpkgs.legacyPackages.${system}); in { - packages = forAllSystems (system: import ./pkgs nixpkgs.legacyPackages.${system}); - formatter = forAllSystems (system: nixpkgs.legacyPackages.${system}.alejandra); - - # Custom packages and modifications, exported as overlays - overlays = import ./overlays {inherit inputs;}; - - # NixOS configuration entrypoint - # 'nixos-rebuild switch --flake .#your-hostname' - nixosConfigurations = { - arcturus = nixosSystem (mkNixOSConfig "arcturus"); - canopus = nixosSystem (mkNixOSConfig "canopus"); - alpha = nixosSystem (mkNixOSConfig "alpha"); - sirius = nixosSystem (mkNixOSConfig "sirius"); - vega = nixosSystem (mkNixOSConfig "vega"); - capella = nixosSystem (mkNixOSConfig "capella"); - vps = nixosSystem (mkNixOSConfig "vps"); - isoImage = nixosSystem (mkNixOSConfig "isoImage"); - homelab = nixosSystem (mkNixOSConfig "homelab"); - }; - - # NixOnDroid configuration entrypoint - # 'nix-on-droid switch --flake .#your-hostname' - nixOnDroidConfigurations = { - rigel = nixOnDroidConfiguration (mkDroidConfig "rigel"); - }; - - deploy = { - nodes = { - arcturus = mkNixOSNode "arcturus"; - canopus = mkNixOSNode "canopus"; - alpha = mkNixOSNode "alpha"; - sirius = mkNixOSNode "sirius"; - vega = mkNixOSNode "vega"; - capella = mkNixOSNode "capella"; - homelab = mkNixOSNode "homelab"; - rigel = mkDroidNode "rigel"; - }; - }; - checks = builtins.mapAttrs (system: deployLib: deployLib.deployChecks self.deploy) deploy-rs.lib; - }; - - inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - nixpkgs-stable.url = "github:nixos/nixpkgs/release-24.11"; - nixos-wsl = { - url = "github:nix-community/nixos-wsl"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - home-manager = { - url = "github:nix-community/home-manager"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - nix-vscode-extensions = { - url = "github:nix-community/nix-vscode-extensions"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - wezterm-flake = { - url = "github:wez/wezterm/main?dir=nix"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - disko = { - url = "github:nix-community/disko"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - nix-secrets = { - url = "git+ssh://git@github.com/tuxdotrs/nix-secrets.git?shallow=1"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - nix-on-droid = { - url = "github:nix-community/nix-on-droid/release-24.05"; - inputs.nixpkgs.follows = "nixpkgs"; - inputs.home-manager.follows = "home-manager"; - }; - tfolio = { - url = "git+ssh://git@github.com/tuxdotrs/tfolio.git"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - cyber-tux = { - url = "git+ssh://git@github.com/tuxdotrs/cyber-tux.git"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - nix-index-database = { - url = "github:nix-community/nix-index-database"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - ghostty.url = "github:ghostty-org/ghostty"; - nixos-hardware.url = "github:nixos/nixos-hardware"; - nixpkgs-f2k.url = "github:moni-dz/nixpkgs-f2k"; - nur.url = "github:nix-community/nur"; - sops-nix.url = "github:Mic92/sops-nix"; - impermanence.url = "github:nix-community/impermanence"; - deploy-rs.url = "github:serokell/deploy-rs"; + packages = forAllSystems (pkgs: rec { + default = tawm; + tawm = pkgs.callPackage ./default.nix {}; + }); }; } diff --git a/hosts/alpha/default.nix b/hosts/alpha/default.nix deleted file mode 100644 index af736fb..0000000 --- a/hosts/alpha/default.nix +++ /dev/null @@ -1,103 +0,0 @@ -{ - pkgs, - username, - config, - email, - inputs, - ... -}: { - imports = [ - ./hardware.nix - ../common - ../../modules/nixos/selfhosted/uptime-kuma.nix - ]; - - tux.services.openssh.enable = true; - tux.services.openssh.ports = [23]; - - tux.services.tfolio.enable = true; - - sops.secrets = { - borg_encryption_key = { - sopsFile = ./secrets.yaml; - }; - - "cloudflare_credentials/email" = { - sopsFile = ./secrets.yaml; - }; - - "cloudflare_credentials/dns_api_token" = { - sopsFile = ./secrets.yaml; - }; - }; - - boot = { - kernelPackages = pkgs.linuxPackages_zen; - initrd.systemd.enable = true; - - loader = { - grub.device = "/dev/sda"; - timeout = 1; - }; - }; - - networking = { - hostName = "alpha"; - - firewall = { - enable = true; - allowedTCPPorts = [80 443 22]; - }; - }; - - security = { - acme = { - acceptTerms = true; - defaults.email = "${email}"; - certs = { - "tux.rs" = { - domain = "*.tux.rs"; - extraDomainNames = ["tux.rs"]; - dnsProvider = "cloudflare"; - credentialFiles = { - CLOUDFLARE_EMAIL_FILE = config.sops.secrets."cloudflare_credentials/email".path; - CLOUDFLARE_DNS_API_TOKEN_FILE = config.sops.secrets."cloudflare_credentials/dns_api_token".path; - }; - }; - }; - }; - }; - - users.users.nginx.extraGroups = ["acme"]; - - tux.services.nginxStreamProxy = { - enable = true; - upstreamServers = inputs.nix-secrets.proxy-servers; - }; - - services = { - nginx = { - recommendedGzipSettings = true; - recommendedOptimisation = true; - recommendedProxySettings = true; - recommendedTlsSettings = true; - }; - }; - - programs = { - zsh.enable = true; - dconf.enable = true; - }; - - environment.persistence."/persist" = { - enable = false; - }; - - home-manager.users.${username} = { - imports = [ - ./home.nix - ]; - }; - - system.stateVersion = "23.11"; -} diff --git a/hosts/alpha/hardware.nix b/hosts/alpha/hardware.nix deleted file mode 100644 index 81dbdd3..0000000 --- a/hosts/alpha/hardware.nix +++ /dev/null @@ -1,33 +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. -{ - lib, - modulesPath, - ... -}: { - imports = [ - (modulesPath + "/profiles/qemu-guest.nix") - ]; - - boot.initrd.availableKernelModules = ["ahci" "xhci_pci" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod"]; - boot.initrd.kernelModules = []; - boot.kernelModules = []; - boot.extraModulePackages = []; - - fileSystems."/" = { - device = "/dev/disk/by-uuid/471d0988-e57c-4767-a2b4-c93797a8c16f"; - fsType = "ext4"; - }; - - swapDevices = []; - - # Enables DHCP on each ethernet and wireless interface. In case of scripted networking - # (the default) this is the recommended approach. When using systemd-networkd it's - # still possible to use this option, but it's recommended to use it in conjunction - # with explicit per-interface declarations with `networking.interfaces..useDHCP`. - networking.useDHCP = lib.mkDefault true; - # networking.interfaces.eth0.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; -} diff --git a/hosts/alpha/home.nix b/hosts/alpha/home.nix deleted file mode 100644 index 86ea8a7..0000000 --- a/hosts/alpha/home.nix +++ /dev/null @@ -1,3 +0,0 @@ -{...}: { - home.stateVersion = "23.11"; -} diff --git a/hosts/alpha/secrets.yaml b/hosts/alpha/secrets.yaml deleted file mode 100644 index 9880b41..0000000 --- a/hosts/alpha/secrets.yaml +++ /dev/null @@ -1,33 +0,0 @@ -borg_encryption_key: ENC[AES256_GCM,data:4rS4RVUbSErLEVJuUluYOrw0m2LlYP7zEeYTL4yTmc4=,iv:epNhm2nSDF4Lp+Iu/vZuDiTna+1q59lY7Ztmpcpmb5o=,tag:7o0MwZBdiDSPaL07qVOfWg==,type:str] -cloudflare_credentials: - email: ENC[AES256_GCM,data:Re656wFjQWWNO/k=,iv:NsRdtzMbkOPS9kN/y/IYzRrBr+xmDXp87DTiNwHKesc=,tag:4hGnmto08H2MKxk/7QkI5w==,type:str] - dns_api_token: ENC[AES256_GCM,data:703Nk1PaePWYuKNVJkSVTplAvsSTLrYrWdhZlTqlMNRa6m2j5neahg==,iv:RHpz1O1TgFsooYGIJiI8Owwmk5hzd+x+DFADvt+k9C0=,tag:zlDnKbLbSBVXMaHOnk0AuQ==,type:str] -sops: - kms: [] - gcp_kms: [] - azure_kv: [] - hc_vault: [] - age: - - recipient: age14vktfes95f33vuefwnmuvryas7az04u76dsgyhfvsx73czkvmp2q7njkl4 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBkTnRhZVg3MmNiOFpoeTE3 - SXdtRXN1VS82S3AveDFMRjFYQVJpMDdyQWowCjJrQlIwN2VHQUlUazNaMERnRDJR - dFQ2VUpDMlJENVU5cWtIY3pZZU9wSmcKLS0tIEF1NzRkSHJ5cTQrM3RWdUtrYzkw - VXI3QzE5UlBhS2g1RUl0TEtaS0NPTW8KAQ+9Hk3HNMhwm33T3mzgkavs6mx4zKqZ - xjfB5d5W5UI+7uYC+RQNNA/cVxAgkMiW4OL4HAt2hXD6lrsjNzxzpQ== - -----END AGE ENCRYPTED FILE----- - - recipient: age145uq9emlxqzm3wqauy9zqj78wqx9e6h09xag6wust7jjgn4upfzsaemcvx - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB4OHkvTk5JaWxLbmZ5VEtV - S2VkMVl0WGZOYk5WRTJISWMxU0tja0x6alFrCnJISFNTbDhNRXJjUDJDS1JmWmRK - aGhyaFBjNTlhanE3UGdQb0JFUWFCTWcKLS0tIDhVZ1JxcGJUcWsvWVFSWFZWYjdx - K2syUkFRb3F3aFFFeis3OFR4ZENielEKGrUQCi7xaPzJKypvy4tyoSG1a2/l5Le0 - dVcheJcRJvoo89WWrciMhZ/MCs5kffI464RVW7q9BxbJRDO2Obm2dw== - -----END AGE ENCRYPTED FILE----- - lastmodified: "2024-09-13T09:10:11Z" - mac: ENC[AES256_GCM,data:GTzDXeEzRFmrX0PU0GKPF5JwscZUrzUmB90ThHPZ7oqflOPpZBrotOo4MZCcU37HEPAXVeFUzVnsjN5bOp5RFqs70r9upj2jXiIsbx/yskcPOML3GAFmVc9HbjOK9TLyie2bJWaFhT+b7CgiJvyIu0QEh43dqSI4d3H1T8Hqn1o=,iv:kcV3Xz276+PKrztSIDB2SiJjDV2iqCn2A90AjEO326M=,tag:3xu3sQeRB15Os06i484GFw==,type:str] - pgp: [] - unencrypted_suffix: _unencrypted - version: 3.9.0 diff --git a/hosts/arcturus/default.nix b/hosts/arcturus/default.nix deleted file mode 100644 index 594ce29..0000000 --- a/hosts/arcturus/default.nix +++ /dev/null @@ -1,215 +0,0 @@ -{ - modulesPath, - inputs, - username, - lib, - email, - config, - ... -}: { - imports = [ - (modulesPath + "/installer/scan/not-detected.nix") - (modulesPath + "/profiles/qemu-guest.nix") - inputs.disko.nixosModules.default - (import ./disko.nix {device = "/dev/sda";}) - - ../common - ../../modules/nixos/virtualisation/docker.nix - ../../modules/nixos/selfhosted/postgresql.nix - ../../modules/nixos/selfhosted/headscale.nix - ../../modules/nixos/selfhosted/vaultwarden.nix - ../../modules/nixos/selfhosted/gitea.nix - ../../modules/nixos/selfhosted/plausible.nix - ../../modules/nixos/selfhosted/monitoring/grafana.nix - ../../modules/nixos/selfhosted/monitoring/loki.nix - ../../modules/nixos/selfhosted/monitoring/promtail.nix - ../../modules/nixos/selfhosted/ntfy-sh.nix - ../../modules/nixos/selfhosted/searx.nix - ../../modules/nixos/selfhosted/wakapi.nix - ../../modules/nixos/selfhosted/nextcloud.nix - ../../modules/nixos/selfhosted/silver-bullet.nix - ../../modules/nixos/selfhosted/rustdesk-server.nix - ../../modules/nixos/selfhosted/kasmweb.nix - ]; - - tux.services.openssh.enable = true; - - sops.secrets = { - borg_encryption_key = { - sopsFile = ./secrets.yaml; - }; - - searx_secret_key = { - sopsFile = ./secrets.yaml; - }; - - "cloudflare_credentials/email" = { - sopsFile = ./secrets.yaml; - }; - - "cloudflare_credentials/dns_api_token" = { - sopsFile = ./secrets.yaml; - }; - - plausible_key = { - sopsFile = ./secrets.yaml; - }; - - wakapi_salt = { - sopsFile = ./secrets.yaml; - }; - - nextcloud_password = { - sopsFile = ./secrets.yaml; - owner = "nextcloud"; - }; - - silver_bullet = { - sopsFile = ./secrets.yaml; - }; - - "cs2_secrets/SRCDS_TOKEN" = { - sopsFile = ./secrets.yaml; - }; - - "cs2_secrets/CS2_RCONPW" = { - sopsFile = ./secrets.yaml; - }; - - "cs2_secrets/CS2_PW" = { - sopsFile = ./secrets.yaml; - }; - }; - - nixpkgs = { - hostPlatform = "x86_64-linux"; - }; - - boot = { - kernel.sysctl = { - "vm.swappiness" = 10; - }; - - initrd.systemd = { - enable = lib.mkForce true; - - services.wipe-my-fs = { - wantedBy = ["initrd.target"]; - after = ["initrd-root-device.target"]; - before = ["sysroot.mount"]; - unitConfig.DefaultDependencies = "no"; - serviceConfig.Type = "oneshot"; - script = '' - mkdir /btrfs_tmp - mount /dev/disk/by-partlabel/disk-primary-root /btrfs_tmp - - if [[ -e /btrfs_tmp/root ]]; then - mkdir -p /btrfs_tmp/old_roots - timestamp=$(date --date="@$(stat -c %Y /btrfs_tmp/root)" "+%Y-%m-%-d_%H:%M:%S") - mv /btrfs_tmp/root "/btrfs_tmp/old_roots/$timestamp" - fi - - delete_subvolume_recursively() { - IFS=$'\n' - for i in $(btrfs subvolume list -o "$1" | cut -f 9- -d ' '); do - delete_subvolume_recursively "/btrfs_tmp/$i" - done - btrfs subvolume delete "$1" - } - - for i in $(find /btrfs_tmp/old_roots/ -maxdepth 1 -mtime +30); do - delete_subvolume_recursively "$i" - done - - btrfs subvolume create /btrfs_tmp/root - umount /btrfs_tmp - ''; - }; - }; - - loader = { - grub = { - efiSupport = true; - efiInstallAsRemovable = true; - configurationLimit = 10; - }; - timeout = 1; - }; - }; - - networking = { - hostName = "arcturus"; - - firewall = { - enable = true; - allowedTCPPorts = [80 443 22 3333]; - }; - }; - - security = { - acme = { - acceptTerms = true; - defaults.email = "${email}"; - certs = { - "tux.rs" = { - group = "nginx"; - domain = "*.tux.rs"; - extraDomainNames = ["tux.rs"]; - dnsProvider = "cloudflare"; - credentialFiles = { - CLOUDFLARE_EMAIL_FILE = config.sops.secrets."cloudflare_credentials/email".path; - CLOUDFLARE_DNS_API_TOKEN_FILE = config.sops.secrets."cloudflare_credentials/dns_api_token".path; - }; - }; - }; - }; - }; - - users.users.nginx.extraGroups = ["acme"]; - - services = { - nginx = { - recommendedTlsSettings = true; - recommendedBrotliSettings = true; - recommendedOptimisation = true; - recommendedGzipSettings = true; - recommendedProxySettings = true; - recommendedZstdSettings = true; - }; - }; - - programs.fuse.userAllowOther = true; - fileSystems."/persist".neededForBoot = true; - environment.persistence."/persist" = { - hideMounts = true; - directories = [ - "/var/log" - "/var/lib/nixos" - "/var/lib/acme" - "/var/lib/postgresql" - "/var/lib/headscale" - "/var/lib/vaultwarden" - "/var/lib/gitea" - "/var/lib/clickhouse" - "/var/lib/grafana" - "/var/lib/promtail" - "/var/lib/private" - "/var/lib/nextcloud" - "/var/lib/silverbullet" - ]; - files = [ - "/etc/ssh/ssh_host_ed25519_key" - "/etc/ssh/ssh_host_ed25519_key.pub" - "/etc/ssh/ssh_host_rsa_key" - "/etc/ssh/ssh_host_rsa_key.pub" - ]; - }; - - home-manager.users.${username} = { - imports = [ - ./home.nix - ]; - }; - - system.stateVersion = "24.11"; -} diff --git a/hosts/arcturus/disko.nix b/hosts/arcturus/disko.nix deleted file mode 100644 index 4a0c700..0000000 --- a/hosts/arcturus/disko.nix +++ /dev/null @@ -1,53 +0,0 @@ -{device ? throw "Set this to the disk device, e.g. /dev/nvme0n1", ...}: { - disko.devices.disk.primary = { - inherit device; - type = "disk"; - content = { - type = "gpt"; # GPT partitioning scheme - partitions = { - boot = { - name = "boot"; - size = "1M"; - type = "EF02"; - }; - # EFI Partition - ESP = { - size = "512M"; - type = "EF00"; - content = { - type = "filesystem"; - format = "vfat"; - mountpoint = "/boot"; - mountOptions = ["defaults" "umask=0077"]; - }; - }; - # Btrfs Root Partition - root = { - size = "100%"; # Use remaining space - type = "8300"; # Linux filesystem type - content = { - type = "btrfs"; - subvolumes = { - "/root" = { - mountOptions = ["compress=zstd"]; # Compression for better performance - mountpoint = "/"; # Root subvolume - }; - "/persist" = { - mountOptions = ["compress=zstd"]; # Compression for persistent data - mountpoint = "/persist"; # Persistent subvolume - }; - "/nix" = { - mountOptions = [ - "compress=zstd" - "noatime" - "noacl" - ]; # Optimize for Nix store - mountpoint = "/nix"; # Nix subvolume - }; - }; - }; - }; - }; - }; - }; -} diff --git a/hosts/arcturus/home.nix b/hosts/arcturus/home.nix deleted file mode 100644 index 3d7ca38..0000000 --- a/hosts/arcturus/home.nix +++ /dev/null @@ -1,15 +0,0 @@ -{username, ...}: { - home.persistence."/persist/home/${username}" = { - directories = [ - "Projects" - "Stuff" - ".ssh" - ]; - files = [ - ".zsh_history" - ]; - allowOther = true; - }; - - home.stateVersion = "24.11"; -} diff --git a/hosts/arcturus/secrets.yaml b/hosts/arcturus/secrets.yaml deleted file mode 100644 index b8f6124..0000000 --- a/hosts/arcturus/secrets.yaml +++ /dev/null @@ -1,42 +0,0 @@ -borg_encryption_key: ENC[AES256_GCM,data:7DZQaoS2a5mPjTej25vr1aO1yAAPyXT2tf/VxKrLxF0=,iv:it8JlyEj4r4Z+qDvoEWMQlGkbVh08M/BCkGLVzRCVKQ=,tag:81gRhru8J3hkQhIbgUOgBg==,type:str] -searx_secret_key: ENC[AES256_GCM,data:Z49PJ2gNI5CI0IfzOta+r67VNUvjoPpMVv5lajGhUMPzSy1KWZC5wIM3d02jWwCOsNjXdU5hE3j9W0rkoy5ZhFPXBJRUEv5b6IcaLA==,iv:364zGZkD2LO189nkvizl8yjedi1IgYEEQMA67SexSSI=,tag:qPqefG6jUaBOpUy6d7E++w==,type:str] -plausible_key: ENC[AES256_GCM,data:Ynf2aJ6RLRdAkT9ltLpCXTl8zg/VESDchlf67PmKjc93rSfDgq9tFqv1q55Km2lDo7y9iLu5WyLLg24CSSwy8Q==,iv:yW5hgP4dhfkvunv3iYmXGEH9w29OOmrG4ourPagslVg=,tag:C5PVfEseP5gJdoQQL4gERQ==,type:str] -wakapi_salt: ENC[AES256_GCM,data:Vk5Lezv0f/0ehHqXXBCsQxWFYE2KFujTfII0r7Gd1BXFrwiPEdX62aZ+9LQx7s1RTHh0n+LP/5t0cmHO/fJhGw==,iv:ZUlRwNXUCQ53Lymi9fO4qoBWjLpHVWfTnYM0Z1I6F5o=,tag:dadkEKV7paH4+qAz7Bxxqg==,type:str] -cloudflare_credentials: - email: ENC[AES256_GCM,data:qesgxkzUglKdYPI=,iv:2XDEoQzmtagSiILWZzJPswdhkQ+qjdZfNd+LL1nHPx8=,tag:K1F23Za2Zq78tzf0fl5zEw==,type:str] - dns_api_token: ENC[AES256_GCM,data:ibSL4KWYhqgHjo27fiSqB1iN9NWU3/qGGuLpmiMpBf+qCuh8uxR7Yw==,iv:NapMvfUSm5rgeROK7KuxGyog8s2PW9CCKtjRG87FoCQ=,tag:/Oah7PRCe4XPts0IYt83zw==,type:str] -nextcloud_password: ENC[AES256_GCM,data:o37mq4YHQT5pbi+cXrk=,iv:8HiDwdHTozNM2lHpgqVhdsspuifppsL2I6Z31xEnYFI=,tag:xTnfn8HcubfiQwLYIkpxjw==,type:str] -silver_bullet: ENC[AES256_GCM,data:waEPGskjkkdX98PKzgZG1bzS+NwL6GR8kok=,iv:8a8IeXla8XSHFzjKcVY3QYUK5aFk2kPHVIRvs1y7So0=,tag:p++o6wvLtG5DbDmUusRQLg==,type:str] -cs2_secrets: - SRCDS_TOKEN: ENC[AES256_GCM,data:SzPz4sHDgEoioX8ylLFM6AUUS60gWYpR3ifxUD8A8IQga24t6GM0dyGDryc=,iv:XefIn9yCLPLKVRA+rZiSGUH3l6ZANIJoGRuM/3vFLIw=,tag:flEjl9c7i3XBlHJaq41QYQ==,type:str] - CS2_RCONPW: ENC[AES256_GCM,data:ZyVeoOngZjxKR/ObYo5yJC1ViCNufuA=,iv:+fJK0sY39V/iH7OjT0AzQq6RefVzLZCDETYcAMFnZNU=,tag:IOhRUQRdffNMXa2cKZvi/w==,type:str] - CS2_PW: ENC[AES256_GCM,data:W1Cur7YT1F/+45vmqif2JbpjVURfnfo=,iv:sBNDM2N+QWDAMculBBZtYZcM7ILEfpwkwOd7ErORQhI=,tag:XFsxTUjctZKU38RQUfJ8HQ==,type:str] -sops: - kms: [] - gcp_kms: [] - azure_kv: [] - hc_vault: [] - age: - - recipient: age14vktfes95f33vuefwnmuvryas7az04u76dsgyhfvsx73czkvmp2q7njkl4 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6TGpVMzNDZjNQSkNDQmM3 - eXpvZDRPZW9Kbm81Z2VVUVZIckFNUC9zTEZzCmliUkNWS01YMHVRaUoxTS84VmxQ - UDZtbkhmZmdZVWVsaHN3djkwSERGQ1kKLS0tIEh0ckhDTkQvcEM0UFI2MUVXVHI5 - WnhEdnRqazdZWmczYXYxNy9BMHdwdEUKYgB34OOezF3iF706pIfDmQ0FJEHXBbGF - EJRNmA4Zl1AwyzkN3NSlctzvxx201T1GWL4qZeyVafRv5jQ9oSfK7g== - -----END AGE ENCRYPTED FILE----- - - recipient: age1zsl5d4vj6gl3h96y5p53sq5y4vr4vtlwp727h7rp9a4xfkxm53lqrh6r50 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHeXNrT3c1bENOK0lNZWNT - eFBqYm1BRHBhakFQMVVIKzR0SDRDOW9jUXdBCmFIQWZRSnBlOFBralVFakQ2clNY - Q1Nma0pRVHh4L3IwQm1GbTdqb1BUcWsKLS0tIFRQOVIxb1FRc29WSVVERWsxSDhq - NGprRGVyZ2plWVNrM3drM3JSUjM2L0UKuNk5DqYn2DIfRpY72zDRP5BKoVAXtNv9 - uLI//8wc7f4I3uBdARQdpRE1fapY1UOJOn3i0yndrZARPEbdohRK1Q== - -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-01-24T12:59:25Z" - mac: ENC[AES256_GCM,data:WGWGvbqu07XZ5oU2HBGUbP/9oNCavPBXb2SIm10CG2s377QAWZmpdOC2AGAX8J3NfLtyWEHm8WUQSKjNKvKWARsXU24lNnY+BTSIkF8ymrAU/rRMX8VJi92IYjregAfVBIaYomxqJFhNuAhmsQ75ZYMpRBTusxiEFEdl/H9obiY=,iv:VXIVkpnOY2gZ/xDX/oFvZn08K5Gp49tpiJQGK20blro=,tag:Hkk92ZQWTRY9oQb3Mm6R3w==,type:str] - pgp: [] - unencrypted_suffix: _unencrypted - version: 3.9.3 diff --git a/hosts/canopus/default.nix b/hosts/canopus/default.nix deleted file mode 100755 index 1f5bd30..0000000 --- a/hosts/canopus/default.nix +++ /dev/null @@ -1,332 +0,0 @@ -{ - inputs, - username, - pkgs, - lib, - config, - ... -}: { - imports = [ - inputs.nixos-hardware.nixosModules.asus-zephyrus-ga503 - inputs.disko.nixosModules.default - - (import ./disko.nix {device = "/dev/nvme0n1";}) - ./hardware.nix - - ../common - ../../modules/nixos/desktop - ../../modules/nixos/desktop/awesome - ../../modules/nixos/desktop/hyprland - ../../modules/nixos/virtualisation - ../../modules/nixos/steam.nix - ]; - - tux.services.openssh.enable = true; - - nixpkgs.config.cudaSupport = true; - - sops.secrets = { - hyperbolic_api_key = { - sopsFile = ./secrets.yaml; - owner = "${username}"; - }; - }; - - networking = { - hostName = "canopus"; - networkmanager = { - enable = true; - wifi.powersave = false; - }; - firewall = { - enable = true; - allowedTCPPorts = [80 443 22 3000 6666 8081]; - - # Facilitate firewall punching - allowedUDPPorts = [41641]; - - allowedTCPPortRanges = [ - { - from = 1714; - to = 1764; - } - ]; - allowedUDPPortRanges = [ - { - from = 1714; - to = 1764; - } - ]; - }; - }; - - boot = { - binfmt.emulatedSystems = ["aarch64-linux"]; - - plymouth = { - enable = true; - theme = "spinner-monochrome"; - themePackages = [ - (pkgs.plymouth-spinner-monochrome.override {inherit (config.boot.plymouth) logo;}) - ]; - }; - - kernelParams = [ - "quiet" - "loglevel=3" - "systemd.show_status=auto" - "udev.log_level=3" - "rd.udev.log_level=3" - "vt.global_cursor_default=0" - ]; - consoleLogLevel = 0; - initrd.verbose = false; - - kernelPackages = pkgs.linuxPackages_zen; - supportedFilesystems = ["ntfs"]; - - initrd.systemd = { - enable = lib.mkForce true; - - services.wipe-my-fs = { - wantedBy = ["initrd.target"]; - after = ["initrd-root-device.target"]; - before = ["sysroot.mount"]; - unitConfig.DefaultDependencies = "no"; - serviceConfig.Type = "oneshot"; - script = '' - mkdir /btrfs_tmp - mount /dev/disk/by-partlabel/disk-primary-root /btrfs_tmp - - if [[ -e /btrfs_tmp/root ]]; then - mkdir -p /btrfs_tmp/old_roots - timestamp=$(date --date="@$(stat -c %Y /btrfs_tmp/root)" "+%Y-%m-%-d_%H:%M:%S") - mv /btrfs_tmp/root "/btrfs_tmp/old_roots/$timestamp" - fi - - delete_subvolume_recursively() { - IFS=$'\n' - for i in $(btrfs subvolume list -o "$1" | cut -f 9- -d ' '); do - delete_subvolume_recursively "/btrfs_tmp/$i" - done - btrfs subvolume delete "$1" - } - - for i in $(find /btrfs_tmp/old_roots/ -maxdepth 1 -mtime +30); do - delete_subvolume_recursively "$i" - done - - btrfs subvolume create /btrfs_tmp/root - umount /btrfs_tmp - ''; - }; - }; - - loader = { - systemd-boot = { - enable = true; - configurationLimit = 5; - }; - efi.canTouchEfiVariables = true; - timeout = 1; - }; - }; - - hardware = { - bluetooth.enable = true; - bluetooth.powerOnBoot = true; - graphics.enable32Bit = true; - }; - - security = { - polkit.enable = true; - rtkit.enable = true; - }; - - systemd = { - enableEmergencyMode = false; - - user = { - services.polkit-gnome-authentication-agent-1 = { - description = "polkit-gnome-authentication-agent-1"; - wantedBy = ["graphical-session.target"]; - wants = ["graphical-session.target"]; - after = ["graphical-session.target"]; - serviceConfig = { - Type = "simple"; - ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"; - Restart = "on-failure"; - RestartSec = 1; - TimeoutStopSec = 10; - }; - }; - }; - }; - - programs = { - ssh.startAgent = true; - xfconf.enable = true; - file-roller.enable = true; - thunar = { - enable = true; - plugins = with pkgs.xfce; [thunar-archive-plugin thunar-volman]; - }; - nix-ld = { - enable = true; - package = pkgs.nix-ld-rs; - }; - nm-applet.enable = true; - noisetorch.enable = true; - }; - - services = { - resolved.enable = true; - flatpak.enable = true; - - pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - }; - - logind = { - extraConfig = "HandlePowerKey=suspend"; - lidSwitch = "suspend"; - lidSwitchExternalPower = "suspend"; - }; - - xrdp = { - enable = true; - openFirewall = true; - defaultWindowManager = "awesome"; - audio.enable = true; - }; - - syncthing = { - enable = true; - user = "tux"; - dataDir = "/home/tux/"; - openDefaultPorts = true; - }; - - xserver = { - enable = true; - xkb = { - layout = "in"; - variant = "eng"; - }; - }; - - libinput.touchpad.naturalScrolling = true; - - # To use Auto-cpufreq we need to - # disable TLP because it's enabled by nixos-hardware - tlp.enable = false; - auto-cpufreq = { - enable = true; - settings = { - battery = { - governor = "powersave"; - turbo = "never"; - scaling_min_freq = 400000; - scaling_max_freq = 3800000; - }; - charger = { - governor = "powersave"; - turbo = "never"; - scaling_max_freq = 3800000; - }; - }; - }; - - blueman.enable = true; - - supergfxd = { - enable = true; - settings = { - mode = "Integrated"; - vfio_enable = false; - vfio_save = false; - always_reboot = false; - no_logind = false; - logout_timeout_s = 180; - hotplug_type = "None"; - }; - }; - - asusd = { - enable = true; - enableUserService = true; - asusdConfig.text = '' - ( - charge_control_end_threshold: 100, - panel_od: false, - mini_led_mode: false, - disable_nvidia_powerd_on_battery: true, - ac_command: "", - bat_command: "", - platform_policy_on_battery: Quiet, - platform_policy_on_ac: Quiet, - ppt_pl1_spl: None, - ppt_pl2_sppt: None, - ppt_fppt: None, - ppt_apu_sppt: None, - ppt_platform_sppt: None, - nv_dynamic_boost: None, - nv_temp_target: None, - ) - ''; - profileConfig.text = '' - ( - active_profile: Quiet, - ) - ''; - }; - - gvfs.enable = true; - tumbler.enable = true; - gnome.gnome-keyring.enable = true; - tailscale = { - enable = true; - extraUpFlags = ["--login-server https://hs.tux.rs"]; - }; - mullvad-vpn = { - enable = true; - package = pkgs.mullvad-vpn; - }; - }; - - fonts.packages = with pkgs.nerd-fonts; [ - fira-code - jetbrains-mono - ]; - - programs.fuse.userAllowOther = true; - fileSystems."/persist".neededForBoot = true; - environment.persistence."/persist" = { - hideMounts = true; - directories = [ - "/var/log" - "/var/lib/bluetooth" - "/var/lib/tailscale" - "/var/lib/nixos" - "/etc/NetworkManager/system-connections" - ]; - files = [ - # "/etc/machine-id" - "/etc/ssh/ssh_host_ed25519_key" - "/etc/ssh/ssh_host_ed25519_key.pub" - "/etc/ssh/ssh_host_rsa_key" - "/etc/ssh/ssh_host_rsa_key.pub" - ]; - }; - - home-manager.users.${username} = { - imports = [ - ./home.nix - ]; - }; - - system.stateVersion = "24.11"; -} diff --git a/hosts/canopus/disko.nix b/hosts/canopus/disko.nix deleted file mode 100644 index cb6eb32..0000000 --- a/hosts/canopus/disko.nix +++ /dev/null @@ -1,48 +0,0 @@ -{device ? throw "Set this to the disk device, e.g. /dev/nvme0n1", ...}: { - disko.devices.disk.primary = { - inherit device; - type = "disk"; - content = { - type = "gpt"; # GPT partitioning scheme - partitions = { - # EFI Partition - ESP = { - size = "512M"; - type = "EF00"; - content = { - type = "filesystem"; - format = "vfat"; - mountpoint = "/boot"; - mountOptions = ["defaults" "umask=0077"]; - }; - }; - # Btrfs Root Partition - root = { - size = "100%"; # Use remaining space - type = "8300"; # Linux filesystem type - content = { - type = "btrfs"; - subvolumes = { - "/root" = { - mountOptions = ["compress=zstd"]; # Compression for better performance - mountpoint = "/"; # Root subvolume - }; - "/persist" = { - mountOptions = ["compress=zstd"]; # Compression for persistent data - mountpoint = "/persist"; # Persistent subvolume - }; - "/nix" = { - mountOptions = [ - "compress=zstd" - "noatime" - "noacl" - ]; # Optimize for Nix store - mountpoint = "/nix"; # Nix subvolume - }; - }; - }; - }; - }; - }; - }; -} diff --git a/hosts/canopus/hardware.nix b/hosts/canopus/hardware.nix deleted file mode 100755 index 60b5722..0000000 --- a/hosts/canopus/hardware.nix +++ /dev/null @@ -1,26 +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, ... }: - -{ - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; - - boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "usbhid" "usb_storage" "sd_mod" "sdhci_pci" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-amd" ]; - boot.extraModulePackages = [ ]; - - # Enables DHCP on each ethernet and wireless interface. In case of scripted networking - # (the default) this is the recommended approach. When using systemd-networkd it's - # still possible to use this option, but it's recommended to use it in conjunction - # with explicit per-interface declarations with `networking.interfaces..useDHCP`. - networking.useDHCP = lib.mkDefault true; - # networking.interfaces.enp3s0.useDHCP = lib.mkDefault true; - # networking.interfaces.wlp4s0.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -} diff --git a/hosts/canopus/home.nix b/hosts/canopus/home.nix deleted file mode 100644 index e491b63..0000000 --- a/hosts/canopus/home.nix +++ /dev/null @@ -1,102 +0,0 @@ -{ - pkgs, - username, - ... -}: { - imports = [ - ../../modules/home/desktop/awesome - ../../modules/home/desktop/hyprland - ../../modules/home/desktop/waybar - ../../modules/home/picom - ../../modules/home/alacritty - ../../modules/home/wezterm - ../../modules/home/ghostty - ../../modules/home/desktop/rofi - ../../modules/home/barrier - ../../modules/home/firefox - ../../modules/home/librewolf - ../../modules/home/kdeconnect - ../../modules/home/vs-code - ../../modules/home/mopidy - ../../modules/home/thunderbird - ../../modules/home/floorp - ]; - - home.pointerCursor = { - package = pkgs.bibata-cursors; - name = "Bibata-Modern-Ice"; - }; - - qt.enable = true; - qt.platformTheme.name = "gtk"; - qt.style.name = "adwaita-dark"; - qt.style.package = pkgs.adwaita-qt; - - gtk = { - enable = true; - theme = { - name = "Materia-dark"; - package = pkgs.materia-theme; - }; - iconTheme = { - package = pkgs.tela-icon-theme; - name = "Tela-black"; - }; - }; - - home.packages = with pkgs; [ - discord - telegram-desktop - anydesk - rustdesk-flutter - rawtherapee - beekeeper-studio - obs-studio - flameshot - libreoffice-qt - spotify - stremio - galaxy-buds-client - copyq - vlc - tor-browser - ]; - - home.persistence."/persist/home/${username}" = { - directories = [ - "Downloads" - "Music" - "Wallpapers" - "Documents" - "Videos" - "Projects" - "Stuff" - ".mozilla" - ".ssh" - ".wakatime" - ".rustup" - ".cargo" - ".config/copyq" - ".config/discord" - ".config/Vencord" - ".config/sops" - ".config/obs-studio" - ".config/rustdesk" - ".config/spotify" - ".local/share/nvim" - ".local/share/zoxide" - ".local/share/Smart\ Code\ ltd" - ".local/share/GalaxyBudsClient" - ".local/share/TelegramDesktop" - ".local/state/lazygit" - ".cache/spotify" - ]; - files = [ - ".zsh_history" - ".wakatime.cfg" - ]; - allowOther = true; - }; - - home.stateVersion = "24.11"; -} diff --git a/hosts/canopus/secrets.yaml b/hosts/canopus/secrets.yaml deleted file mode 100644 index 02465bd..0000000 --- a/hosts/canopus/secrets.yaml +++ /dev/null @@ -1,30 +0,0 @@ -hyperbolic_api_key: ENC[AES256_GCM,data:FjDSbdutLa9hnVGRR+k2MznVfDGAx1/rNfjY/vaBuvKoBRj7aHqGpQ1cvhfxjyLMqPLqLnmimEtZeykvgkIIjKGzw5PewE23+lrN3oQyoYJvK+b8PRStjSaxOfzOnuLXi+YVnsU939nStLwnmSYKDabNWgFcWYsHwtHDafuWyovM9sVwasTn,iv:bxseG6GLKBL/CJOS8SrhgiLEyvMGSNQIMJSYLk2MqEo=,tag:4wxmkUwlcu23d7pMHbvIoQ==,type:str] -sops: - kms: [] - gcp_kms: [] - azure_kv: [] - hc_vault: [] - age: - - recipient: age14vktfes95f33vuefwnmuvryas7az04u76dsgyhfvsx73czkvmp2q7njkl4 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBwUnhkNzR0TnNzL29xV3cv - R3lqYUtVWWlNOVFTZHhTMWJZL1ZJUDIxaG0wCnIvQnkxSWJxWTZYVEkvS1ZWSEhk - YmhuK2JtS3lmUjV6MW50SGZrTnpkeDAKLS0tIDkvbk5abnhkNlA0dmgwV0Z0L1BS - UUduZUV3OGcvaFdBOFFsc0xzVCtQcUUKrmZvR2onMD0snqPw8okxaK6Tz5sA/cmR - 1ZczgwLslJA7kwGKYOslUGA7aGB4jyP+M74wBAVa71BqWatypp0RfA== - -----END AGE ENCRYPTED FILE----- - - recipient: age1udt3cssu7ahdrhsvckt8450rswrr6mknn36xpq74dkfp9lpajvnq84kdzj - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBEOE0xbDN0UmdVdE1DR1lo - dmNudDk2TjNQdHFGc0lJTSt0dVVRU3BPRlg0ClV1ZUdxRVNpSmhYQm80QjdhdFc5 - SVI4bi93WDBDWHQvejJIV21Bc2NsMjgKLS0tIEduZ2hHSnI3UXlGU2ZFZkpTRDJo - K0tiZ0swMmpuVW02OHMrRThlOXBWUjQKYHyJZuvQABh+gJ+THQ5SakVEqsKkyBMb - k6KnjRATpdZlmm0GjbD4aasF/j/V2fuH327Z72jPWQuI1y5ZfbDhSg== - -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-01-21T14:42:55Z" - mac: ENC[AES256_GCM,data:UoUa+ypzLAfl2dU7r0dPkddDKyL3d/jFYAUTBbo1828THBCIJPRxaBHmMI1+BjZ/TSvJsGFhJS6YbrQB0zKN/CrH/OGdZPpwJ3VXwFtBWcEc7v8VZCFeWoRnYA31j7uPBA/KxvxpijSEIyJDO4IO+885cyK+uI+5DY9OU9UkDrg=,iv:56K11zOXjZP2XWcz9Xe9Wzqu1XhTfm9Fqd4xNETs2vU=,tag:IssVEyR9AJDZ18+RBvR63Q==,type:str] - pgp: [] - unencrypted_suffix: _unencrypted - version: 3.9.3 diff --git a/hosts/capella/default.nix b/hosts/capella/default.nix deleted file mode 100644 index 2e89358..0000000 --- a/hosts/capella/default.nix +++ /dev/null @@ -1,104 +0,0 @@ -{ - modulesPath, - inputs, - username, - lib, - ... -}: { - imports = [ - (modulesPath + "/installer/scan/not-detected.nix") - (modulesPath + "/profiles/qemu-guest.nix") - inputs.disko.nixosModules.default - (import ./disko.nix {device = "/dev/vda";}) - - ../common - ]; - - tux.services.openssh.enable = true; - - nixpkgs = { - hostPlatform = "x86_64-linux"; - }; - - boot = { - initrd.systemd = { - enable = lib.mkForce true; - - services.wipe-my-fs = { - wantedBy = ["initrd.target"]; - after = ["initrd-root-device.target"]; - before = ["sysroot.mount"]; - unitConfig.DefaultDependencies = "no"; - serviceConfig.Type = "oneshot"; - script = '' - mkdir /btrfs_tmp - mount /dev/disk/by-partlabel/disk-primary-root /btrfs_tmp - - if [[ -e /btrfs_tmp/root ]]; then - mkdir -p /btrfs_tmp/old_roots - timestamp=$(date --date="@$(stat -c %Y /btrfs_tmp/root)" "+%Y-%m-%-d_%H:%M:%S") - mv /btrfs_tmp/root "/btrfs_tmp/old_roots/$timestamp" - fi - - delete_subvolume_recursively() { - IFS=$'\n' - for i in $(btrfs subvolume list -o "$1" | cut -f 9- -d ' '); do - delete_subvolume_recursively "/btrfs_tmp/$i" - done - btrfs subvolume delete "$1" - } - - for i in $(find /btrfs_tmp/old_roots/ -maxdepth 1 -mtime +30); do - delete_subvolume_recursively "$i" - done - - btrfs subvolume create /btrfs_tmp/root - umount /btrfs_tmp - ''; - }; - }; - - loader = { - grub = { - efiSupport = true; - efiInstallAsRemovable = true; - }; - }; - }; - - networking = { - hostName = "capella"; - firewall.enable = false; - }; - - users = { - users.${username} = { - password = "${username}"; - hashedPasswordFile = lib.mkForce null; - }; - }; - - programs.fuse.userAllowOther = true; - fileSystems."/persist".neededForBoot = true; - environment.persistence."/persist" = { - hideMounts = true; - directories = [ - "/var/log" - "/var/lib/nixos" - ]; - files = [ - "/etc/ssh/ssh_host_ed25519_key" - "/etc/ssh/ssh_host_ed25519_key.pub" - "/etc/ssh/ssh_host_rsa_key" - "/etc/ssh/ssh_host_rsa_key.pub" - ]; - }; - - home-manager.users.${username} = { - imports = [ - ./home.nix - ]; - }; - - system.stateVersion = "24.11"; -} diff --git a/hosts/capella/disko.nix b/hosts/capella/disko.nix deleted file mode 100644 index 4a0c700..0000000 --- a/hosts/capella/disko.nix +++ /dev/null @@ -1,53 +0,0 @@ -{device ? throw "Set this to the disk device, e.g. /dev/nvme0n1", ...}: { - disko.devices.disk.primary = { - inherit device; - type = "disk"; - content = { - type = "gpt"; # GPT partitioning scheme - partitions = { - boot = { - name = "boot"; - size = "1M"; - type = "EF02"; - }; - # EFI Partition - ESP = { - size = "512M"; - type = "EF00"; - content = { - type = "filesystem"; - format = "vfat"; - mountpoint = "/boot"; - mountOptions = ["defaults" "umask=0077"]; - }; - }; - # Btrfs Root Partition - root = { - size = "100%"; # Use remaining space - type = "8300"; # Linux filesystem type - content = { - type = "btrfs"; - subvolumes = { - "/root" = { - mountOptions = ["compress=zstd"]; # Compression for better performance - mountpoint = "/"; # Root subvolume - }; - "/persist" = { - mountOptions = ["compress=zstd"]; # Compression for persistent data - mountpoint = "/persist"; # Persistent subvolume - }; - "/nix" = { - mountOptions = [ - "compress=zstd" - "noatime" - "noacl" - ]; # Optimize for Nix store - mountpoint = "/nix"; # Nix subvolume - }; - }; - }; - }; - }; - }; - }; -} diff --git a/hosts/capella/home.nix b/hosts/capella/home.nix deleted file mode 100644 index 1ae0bdd..0000000 --- a/hosts/capella/home.nix +++ /dev/null @@ -1,14 +0,0 @@ -{username, ...}: { - home.persistence."/persist/home/${username}" = { - directories = [ - "Projects" - ".ssh" - ]; - files = [ - ".zsh_history" - ]; - allowOther = true; - }; - - home.stateVersion = "24.11"; -} diff --git a/hosts/common/default.nix b/hosts/common/default.nix deleted file mode 100644 index b3bac8b..0000000 --- a/hosts/common/default.nix +++ /dev/null @@ -1,58 +0,0 @@ -{ - username, - outputs, - inputs, - email, - ... -}: { - imports = [ - inputs.impermanence.nixosModules.impermanence - inputs.home-manager.nixosModules.home-manager - inputs.nix-index-database.nixosModules.nix-index - - ../../modules/base - ../../modules/nixos/fail2ban.nix - ../../modules/nixos/selfhosted/upstream-proxy.nix - ../../modules/nixos/selfhosted/tfolio.nix - ../../modules/nixos/selfhosted/cyber-tux.nix - ../../modules/nixos/networking/ssh.nix - ]; - - sops.secrets.tux-password = { - sopsFile = ./secrets.yaml; - neededForUsers = true; - }; - - time.timeZone = "Asia/Kolkata"; - i18n = { - defaultLocale = "en_US.UTF-8"; - extraLocaleSettings = { - LC_ADDRESS = "en_IN"; - LC_IDENTIFICATION = "en_IN"; - LC_MEASUREMENT = "en_IN"; - LC_MONETARY = "en_IN"; - LC_NAME = "en_IN"; - LC_NUMERIC = "en_IN"; - LC_PAPER = "en_IN"; - LC_TELEPHONE = "en_IN"; - LC_TIME = "en_IN"; - }; - }; - - security.sudo.wheelNeedsPassword = false; - - programs = { - zsh.enable = true; - }; - - home-manager = { - backupFileExtension = "hm-backup"; - useUserPackages = true; - extraSpecialArgs = {inherit inputs outputs username email;}; - users.${username} = { - imports = [ - ./home.nix - ]; - }; - }; -} diff --git a/hosts/common/home.nix b/hosts/common/home.nix deleted file mode 100644 index 20a30f8..0000000 --- a/hosts/common/home.nix +++ /dev/null @@ -1,44 +0,0 @@ -{ - outputs, - username, - inputs, - ... -}: { - imports = [ - inputs.impermanence.nixosModules.home-manager.impermanence - inputs.nix-index-database.hmModules.nix-index - - ../../modules/home/shell - ../../modules/home/git - ../../modules/home/starship - ../../modules/home/nvim - ../../modules/home/tmux - ../../modules/home/helix - ../../modules/home/aria2 - ]; - - nixpkgs = { - overlays = [ - outputs.overlays.additions - outputs.overlays.modifications - outputs.overlays.stable-packages - outputs.overlays.nur - outputs.overlays.nix-vscode-extensions - ]; - - config = { - allowUnfree = true; - allowUnfreePredicate = _: true; - joypixels.acceptLicense = true; - }; - }; - - home = { - username = "${username}"; - homeDirectory = "/home/${username}"; - }; - - programs.home-manager.enable = true; - - systemd.user.startServices = "sd-switch"; -} diff --git a/hosts/common/secrets.yaml b/hosts/common/secrets.yaml deleted file mode 100644 index c907ffd..0000000 --- a/hosts/common/secrets.yaml +++ /dev/null @@ -1,84 +0,0 @@ -tux-password: ENC[AES256_GCM,data:znZPP7d0z0bfp6pxPUFwbjRk4orY5luGe0yXDSrGmYLLn6GJIlhzJ199sQfTG2T1u5/0AmRNkw7Ev7TZSDwyp/fZkmh53Mv5aQ==,iv:v7PbW34T987bj4uovtexyrfqTmCZbB3ZVr/hankwlq4=,tag:r4yqBVS+4T8AU9OCTzb0qQ==,type:str] -sops: - kms: [] - gcp_kms: [] - azure_kv: [] - hc_vault: [] - age: - - recipient: age14vktfes95f33vuefwnmuvryas7az04u76dsgyhfvsx73czkvmp2q7njkl4 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1ODE2Sk8vWGZvUTdXaXJQ - NkxMZ2RwVWhRU2YwRmNZQkVITzN4SkxKL0JRCmJnM0M5ZDdFcW01dEpYQ2JLcFdV - aCs1RnNQcXFlQmRkR3ljQWNvejU5ODAKLS0tIFMyeWIyVUhsS1pjcXl4cWM1TXJH - OUdMd050ZWl5bEwzMjc2Q1h0ZTltOE0Kle5ASAQTtMX3Jx3B2z817MGhAi3EgzZj - Ef0QcB2ZH/VdBu4awdyL9XJQcdDGEb6IdLJcBd0hs2Sy1ZDB7pmvmA== - -----END AGE ENCRYPTED FILE----- - - recipient: age1d3t78xlqd0erlqj2m9947l9eqwpge3zrperljw3xrshh0gjx4ghs8tuqcu - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBUWGpkTWEwWUMxd04rcTJv - VU9tMUExS01uZ1FaSjJ2UmUyNXBTQ05jVXp3ClExZDVCZEo5WHl4L25UdjE4dkdz - N0NsRUVwQ0ExWW9HWHphRVpzYTBVY28KLS0tIGZyNXFGc3ZxYkZIb2RRcHlxcFZ0 - RnY4YVVCOFNubjk2R3BqMTMvcURpcHMK5wWDD91kf17SMHitd7ZcBnEYLpfvMBkz - 5QZRIEyS+KQWn5Rj0Yc5avV10zynDhC1827Hqcrpg8vk042cA3f8Mw== - -----END AGE ENCRYPTED FILE----- - - recipient: age1udt3cssu7ahdrhsvckt8450rswrr6mknn36xpq74dkfp9lpajvnq84kdzj - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzSGhxaGhrdit3NGxudGhs - cHFNL002LzdKYUROL1pxRVFqQjY5SU5TOWtzCmZleUY0Q2E5TGVWL1I2Y0NhUVJM - c055VnJiTVdVQWYxblF1WjV4bXFzWXMKLS0tIFdZMy84VEFzbEhvbjVEQ1lOVm02 - aGFFcXY0c21RbzdrRk9TcFh0QUJTSUUKj9FoEOzasV+vUMYVzaY1g8/F0K6sAVFe - kjPEuMR5s6JUWCrc/fgi3h2LS7ujd3HOAjpg1Ue9RlxH66vWgiRIdA== - -----END AGE ENCRYPTED FILE----- - - recipient: age1jg642q775gmnmxeu29gcf3lph8vem4xr8t84cxe809dpd0myrussh49h60 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKb0pCNis1eWIvaFBqVzdC - QVhaTStCdWNSZHM0bWpjYlZTNDdFcThBWjFRCmk2OC9xaElUaUduNzFUWTROVDZm - b1RoTGh5aXNaR1dUbjFPekVRSXdhRTgKLS0tIHBndUlsTGJNbUlwRDJoeTJRcjky - NUxoVWI3VkxESU1aa0t0Q3RTeFJMR0kK63MYcs4X6ZIJtMYtpXdjfZWqoF2vU1TL - 4JO2d3PtAMbJDTShXU6LAIPAZkFS3alSLo7AemfaCJSEqfjm7p2J9A== - -----END AGE ENCRYPTED FILE----- - - recipient: age1zsl5d4vj6gl3h96y5p53sq5y4vr4vtlwp727h7rp9a4xfkxm53lqrh6r50 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB4TndxTWJxWFdHMm5mMmxL - bjRkbm03N1lDOW1oV2FybStJMFR0bVh5WTNvCnp4NXdnVGFnVU5oWG1DczFnVDFD - dUthOVZLL2xZY3NsMzdEdzkwZmpvWTAKLS0tIE1McFQ2S0srUjJMdmhlczVwVk0r - RllNaysxN3BJbGRTeEdSQ0ZCTWJLS3cKrQLzrigUgT6TAwLh497bGsj8RPes8daP - bN+1TckQXdHEC7nHdanCljnq/EVp3Ant0GbtR/Xj0H01y3/wgydAoQ== - -----END AGE ENCRYPTED FILE----- - - recipient: age145uq9emlxqzm3wqauy9zqj78wqx9e6h09xag6wust7jjgn4upfzsaemcvx - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0bGtlZkgwdzlNNXVKcEJr - V1lCRzljRlJka0g5SHRMNlNjVkRlQ0J0NjBvCnZtdVFuSlptb3Fkc0pFRm1xVDh5 - dHZqMzN2RGc1dzNxc3lMOVJxZTlPYnMKLS0tIDBYMDVVUDYzR3h6UDBaOUFUU0Zo - MG1mMEZycmc5Q0NyOWlvM0NpQ0RVQm8KXwBINuKj8yf/GlAnftFiPV/CTddn5Q9e - 6cfMXOUmu7maJ7ckftHh4McQn37KSRSvsUaDcfnJYi/+AP4xZVR2ew== - -----END AGE ENCRYPTED FILE----- - - recipient: age1ydkclhk9kwqdq74utesqdfupt43lz64d5k65gz2z9uyljcqq9fcq3hv28l - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjM3U1TWRMcTBabFI0bzVP - cWE5eWZBQzk0MFdCQmd5UHpPaDdLbW8rVlJFCitOUkNoSDRkTnIyRDYzcmZTZXlS - ZldJckNncVBycjRNZ2gxc3NqYWtyUEUKLS0tIFNuTlVwR0tsSVE3bzhIeG5sbXhO - Q2VibU9DK0MvNm1sWjlZbE1RR1orU3MKMOM/nC+iCvWl6S1Deaj48PosHpICSGSq - E3rew2o2fDSorlEJQXQ1Hy5mU+QD6HUwD9Yf4Fj1avsWnfSUldbgLA== - -----END AGE ENCRYPTED FILE----- - - recipient: age1sjnqsxdqyqngt52asc4cmrf0nkvmxvp8v4zrvrmtuftz3uffyskszjhqm5 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBva0ZSd24xeXdFYi9MNEF1 - MW9JaG1mVzJ2bERyZ0l6SzNHbzBnSmx4YURRCklPemVENXFzU1o1Sng0L0FHbjVm - aFJSeVorWmR3ZmVLbHpEQjZMa2gzWkUKLS0tIHV6REZXREVXbEhTeGs2NmdlZ1d1 - R3k4cS9WN2d3ME95Y3dqZzdSdlkrVkEKefD2SOkoWUJLBJgMxs4/UhE9sgGbm7A7 - NzrHzIUOdjrkMIo/nAOrEO7vSI0CUwE1NHIc+q4LXyR1WHVY+ozI7g== - -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-02-25T21:19:20Z" - mac: ENC[AES256_GCM,data:gMrMUE0d6b0rNYUviNx7gwbrXW0S7YeKyUQTtKqfBICWdv2pr/pcf+Yad78x0YANKau4f5fri+HZvHDVAe8Wo43+udpEkQZO1UMv7iLpjXqrWMiTQ7xSC3sY27gnoKrq2l6vojUh6Z/HXvdwZFyZ+SEQOYOnHXLmugVuK5ACVvU=,iv:2Lqlp1O2SQLdU+h//WGizVVcV4VbxKzwbGABV6vspPE=,tag:oRqfQXcYrNZQkBMMuat/NQ==,type:str] - pgp: [] - unencrypted_suffix: _unencrypted - version: 3.9.4 diff --git a/hosts/homelab/default.nix b/hosts/homelab/default.nix deleted file mode 100755 index fda47c2..0000000 --- a/hosts/homelab/default.nix +++ /dev/null @@ -1,149 +0,0 @@ -{ - inputs, - username, - pkgs, - lib, - config, - ... -}: { - imports = [ - inputs.disko.nixosModules.default - - (import ./disko.nix {device = "/dev/nvme0n1";}) - ./hardware.nix - - ../common - ../../modules/nixos/desktop - ../../modules/nixos/virtualisation/docker.nix - ../../modules/nixos/selfhosted/open-webui.nix - ]; - - tux.services.openssh.enable = true; - - sops.secrets = { - discord_token = { - sopsFile = ./secrets.yaml; - }; - }; - - tux.services.cyber-tux = { - enable = true; - environmentFile = config.sops.secrets.discord_token.path; - }; - - networking = { - hostName = "homelab"; - networkmanager = { - enable = true; - wifi.powersave = false; - }; - firewall = { - enable = true; - allowedTCPPorts = [22]; - - # Facilitate firewall punching - allowedUDPPorts = [41641]; - }; - }; - - boot = { - consoleLogLevel = 0; - initrd.verbose = false; - - kernelPackages = pkgs.linuxPackages_zen; - - initrd.systemd = { - enable = lib.mkForce true; - - services.wipe-my-fs = { - wantedBy = ["initrd.target"]; - after = ["initrd-root-device.target"]; - before = ["sysroot.mount"]; - unitConfig.DefaultDependencies = "no"; - serviceConfig.Type = "oneshot"; - script = '' - mkdir /btrfs_tmp - mount /dev/disk/by-partlabel/disk-primary-root /btrfs_tmp - - if [[ -e /btrfs_tmp/root ]]; then - mkdir -p /btrfs_tmp/old_roots - timestamp=$(date --date="@$(stat -c %Y /btrfs_tmp/root)" "+%Y-%m-%-d_%H:%M:%S") - mv /btrfs_tmp/root "/btrfs_tmp/old_roots/$timestamp" - fi - - delete_subvolume_recursively() { - IFS=$'\n' - for i in $(btrfs subvolume list -o "$1" | cut -f 9- -d ' '); do - delete_subvolume_recursively "/btrfs_tmp/$i" - done - btrfs subvolume delete "$1" - } - - for i in $(find /btrfs_tmp/old_roots/ -maxdepth 1 -mtime +30); do - delete_subvolume_recursively "$i" - done - - btrfs subvolume create /btrfs_tmp/root - umount /btrfs_tmp - ''; - }; - }; - - loader = { - systemd-boot = { - enable = true; - configurationLimit = 5; - }; - efi.canTouchEfiVariables = true; - timeout = 1; - }; - }; - - hardware = { - graphics.enable32Bit = true; - }; - - security = { - rtkit.enable = true; - }; - - programs = { - nix-ld = { - enable = true; - package = pkgs.nix-ld-rs; - }; - }; - - services = { - tailscale = { - enable = true; - extraUpFlags = ["--login-server https://hs.tux.rs"]; - }; - }; - - programs.fuse.userAllowOther = true; - fileSystems."/persist".neededForBoot = true; - environment.persistence."/persist" = { - hideMounts = true; - directories = [ - "/var/log" - "/var/lib/tailscale" - "/var/lib/nixos" - "/etc/NetworkManager/system-connections" - ]; - files = [ - "/etc/ssh/ssh_host_ed25519_key" - "/etc/ssh/ssh_host_ed25519_key.pub" - "/etc/ssh/ssh_host_rsa_key" - "/etc/ssh/ssh_host_rsa_key.pub" - ]; - }; - - home-manager.users.${username} = { - imports = [ - ./home.nix - ]; - }; - - system.stateVersion = "24.11"; -} diff --git a/hosts/homelab/disko.nix b/hosts/homelab/disko.nix deleted file mode 100644 index cb6eb32..0000000 --- a/hosts/homelab/disko.nix +++ /dev/null @@ -1,48 +0,0 @@ -{device ? throw "Set this to the disk device, e.g. /dev/nvme0n1", ...}: { - disko.devices.disk.primary = { - inherit device; - type = "disk"; - content = { - type = "gpt"; # GPT partitioning scheme - partitions = { - # EFI Partition - ESP = { - size = "512M"; - type = "EF00"; - content = { - type = "filesystem"; - format = "vfat"; - mountpoint = "/boot"; - mountOptions = ["defaults" "umask=0077"]; - }; - }; - # Btrfs Root Partition - root = { - size = "100%"; # Use remaining space - type = "8300"; # Linux filesystem type - content = { - type = "btrfs"; - subvolumes = { - "/root" = { - mountOptions = ["compress=zstd"]; # Compression for better performance - mountpoint = "/"; # Root subvolume - }; - "/persist" = { - mountOptions = ["compress=zstd"]; # Compression for persistent data - mountpoint = "/persist"; # Persistent subvolume - }; - "/nix" = { - mountOptions = [ - "compress=zstd" - "noatime" - "noacl" - ]; # Optimize for Nix store - mountpoint = "/nix"; # Nix subvolume - }; - }; - }; - }; - }; - }; - }; -} diff --git a/hosts/homelab/hardware.nix b/hosts/homelab/hardware.nix deleted file mode 100755 index 60b5722..0000000 --- a/hosts/homelab/hardware.nix +++ /dev/null @@ -1,26 +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, ... }: - -{ - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; - - boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "usbhid" "usb_storage" "sd_mod" "sdhci_pci" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-amd" ]; - boot.extraModulePackages = [ ]; - - # Enables DHCP on each ethernet and wireless interface. In case of scripted networking - # (the default) this is the recommended approach. When using systemd-networkd it's - # still possible to use this option, but it's recommended to use it in conjunction - # with explicit per-interface declarations with `networking.interfaces..useDHCP`. - networking.useDHCP = lib.mkDefault true; - # networking.interfaces.enp3s0.useDHCP = lib.mkDefault true; - # networking.interfaces.wlp4s0.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -} diff --git a/hosts/homelab/home.nix b/hosts/homelab/home.nix deleted file mode 100644 index 84dbab2..0000000 --- a/hosts/homelab/home.nix +++ /dev/null @@ -1,21 +0,0 @@ -{username, ...}: { - home.persistence."/persist/home/${username}" = { - directories = [ - "Projects" - "Stuff" - ".ssh" - ".wakatime" - ".config/sops" - ".local/share/nvim" - ".local/share/zoxide" - ".local/state/lazygit" - ]; - files = [ - ".zsh_history" - ".wakatime.cfg" - ]; - allowOther = true; - }; - - home.stateVersion = "24.11"; -} diff --git a/hosts/homelab/secrets.yaml b/hosts/homelab/secrets.yaml deleted file mode 100644 index 89be44f..0000000 --- a/hosts/homelab/secrets.yaml +++ /dev/null @@ -1,30 +0,0 @@ -discord_token: ENC[AES256_GCM,data:fZqz6LD3+Svtton5gNCXO5ddWAqW1IyxP3M2DAIXZEIYRHUfAq8h9LES2IHWepjl5qKimxB35zacE/TYK2fitngWtRGVoMDBzzU6VTKNulNV3yFWrPA=,iv:YOplYld+c9vHVC0Srfm89qrh4yUygDiW67X2TdwHKMc=,tag:Ioc2wNLX818fRQ/2PSO7Sw==,type:str] -sops: - kms: [] - gcp_kms: [] - azure_kv: [] - hc_vault: [] - age: - - recipient: age14vktfes95f33vuefwnmuvryas7az04u76dsgyhfvsx73czkvmp2q7njkl4 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2YktFRE9KS0h0T0hDTlpF - ZEk0VzNTcVE0ampsWVRtSzJ3UHBXL2NlUUh3Cjk5ZnFKVENmTTJHQjgrVWlyOUE1 - THUrTUFzdWhKejNUNXpsNVpvZVdJWm8KLS0tIDZ5bmYzSVBUVlVORHAzSGtCQmVo - a2JuSWVtMi9FMkova3BCd2F0U2VCRzQKonG/AkEn2X2l3vyr0UlJprGW2ZSwrczq - xHafyGiU/I1AO/HoB3BXyP8t/Sgn/dy42lspqZ3MoLLlmx7dQeTd+g== - -----END AGE ENCRYPTED FILE----- - - recipient: age1jg642q775gmnmxeu29gcf3lph8vem4xr8t84cxe809dpd0myrussh49h60 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxWUowUlB2cWVOclpRMENn - TU5za0Y2UHZ5eFNZMEdQWm9xdTZFYkVwS2hNCnRBUU1ndFdiQ09sQjBDb1greC93 - ejl2OVZTTEtIcWpxUk5RRngrbjRWREEKLS0tIDVrSHhxbmJFdWwyQS9xeWlFZitJ - Y1RHaFdXaE9DODJtSTFCSVZWb0xVeUEK4qeBKg3u+vhBIM1dQ7BaOWi/C7Q8hk60 - vu9Zr075n0+kb5Ab+RH24ZmEoP5PJXjwEfbAnmRTjn0reYn1nfcNYA== - -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-02-15T12:45:59Z" - mac: ENC[AES256_GCM,data:NLGe7L/oiG62x4PmQ6FobnuisFmMxYoGhxfqQ4qZdy9emYL/+FnrtFsKTKqZ9IHjrNnCmbk7y+Cds/azC1xGVcaj50jEox87vtqIZ3z0XsD1mJjCAdHkBVzzpQGwHas/5y0Inyj+oKsvQrqVacqYHVA/ES+zMvou8nD+EWIH2LE=,iv:fBVOnwih+QFkYZ8IfMBpQiT1XwSZtzo3VYaBOL3I5o4=,tag:p+ePQsrmcLcnLr2fgWQXQg==,type:str] - pgp: [] - unencrypted_suffix: _unencrypted - version: 3.9.4 diff --git a/hosts/isoImage/default.nix b/hosts/isoImage/default.nix deleted file mode 100644 index 6a78d2a..0000000 --- a/hosts/isoImage/default.nix +++ /dev/null @@ -1,84 +0,0 @@ -{ - pkgs, - modulesPath, - inputs, - username, - ... -}: { - imports = [ - "${modulesPath}/installer/cd-dvd/installation-cd-minimal.nix" - inputs.home-manager.nixosModules.home-manager - - ../../modules/nixos/default.nix - ../../modules/nixos/desktop/awesome - ]; - - nixpkgs.hostPlatform = "x86_64-linux"; - - networking = { - hostName = "iso"; - }; - - hardware = { - bluetooth.enable = true; - bluetooth.powerOnBoot = true; - }; - - security = { - rtkit.enable = true; - }; - - programs = { - ssh.startAgent = true; - thunar = { - enable = true; - plugins = with pkgs.xfce; [thunar-archive-plugin thunar-volman]; - }; - nm-applet.enable = true; - }; - - services = { - resolved.enable = true; - - pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - }; - - logind = { - extraConfig = "HandlePowerKey=suspend"; - lidSwitch = "suspend"; - lidSwitchExternalPower = "suspend"; - }; - - xserver = { - enable = true; - xkb = { - layout = "in"; - variant = "eng"; - }; - }; - - libinput.touchpad.naturalScrolling = true; - - blueman.enable = true; - - gvfs.enable = true; - tumbler.enable = true; - }; - - fonts.packages = with pkgs.nerd-fonts; [ - fira-code - jetbrains-mono - ]; - - home-manager.users.${username} = { - imports = [ - ./home.nix - ]; - }; - - system.stateVersion = "23.11"; -} diff --git a/hosts/isoImage/home.nix b/hosts/isoImage/home.nix deleted file mode 100644 index 6a6b363..0000000 --- a/hosts/isoImage/home.nix +++ /dev/null @@ -1,7 +0,0 @@ -{...}: { - imports = [ - ../common/home.nix - ]; - - home.stateVersion = "23.11"; -} diff --git a/hosts/rigel/default.nix b/hosts/rigel/default.nix deleted file mode 100644 index f07e6fe..0000000 --- a/hosts/rigel/default.nix +++ /dev/null @@ -1,62 +0,0 @@ -{ - pkgs, - username, - outputs, - inputs, - email, - ... -}: { - imports = [ - ../../modules/droid/sshd.nix - ]; - - android-integration.am.enable = true; - android-integration.termux-open-url.enable = true; - android-integration.xdg-open.enable = true; - android-integration.termux-setup-storage.enable = true; - android-integration.termux-reload-settings.enable = true; - - terminal.font = let - firacode = pkgs.nerd-fonts.fira-code; - fontPath = "share/fonts/truetype/NerdFonts/FiraCode/FiraCodeNerdFont-Regular.ttf"; - in "${firacode}/${fontPath}"; - - time.timeZone = "Asia/Kolkata"; - - tux.services.openssh = { - enable = true; - ports = [8022]; - authorizedKeys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL+OzPUe2ECPC929DqpkM39tl/vdNAXfsRnmrGfR+X3D ${email}" - ]; - }; - - user = { - uid = 10559; - gid = 10559; - shell = "${pkgs.zsh}/bin/zsh"; - }; - - environment.etcBackupExtension = ".backup"; - environment.motd = ''''; - environment.packages = with pkgs; [ - nano - git - neovim - openssh - ]; - - home-manager = { - config = ./home.nix; - backupFileExtension = "backup"; - extraSpecialArgs = {inherit inputs outputs username email;}; - useGlobalPkgs = true; - }; - - # Set up nix for flakes - nix.extraOptions = '' - experimental-features = nix-command flakes - ''; - - system.stateVersion = "24.05"; -} diff --git a/hosts/rigel/home.nix b/hosts/rigel/home.nix deleted file mode 100644 index 5f2b98c..0000000 --- a/hosts/rigel/home.nix +++ /dev/null @@ -1,34 +0,0 @@ -{pkgs, ...}: { - imports = [ - ../../modules/home/git - ../../modules/home/starship - ]; - - programs = { - bat.enable = true; - zoxide = { - enable = true; - options = ["--cmd cd"]; - }; - zsh = { - enable = true; - shellAliases = { - ls = "lsd"; - }; - syntaxHighlighting.enable = true; - autosuggestion.enable = true; - initExtra = '' - fastfetch - ''; - }; - }; - - home.packages = with pkgs; [ - neovim - busybox - lsd - fastfetch - ]; - - home.stateVersion = "24.05"; -} diff --git a/hosts/sirius/default.nix b/hosts/sirius/default.nix deleted file mode 100644 index dbf821e..0000000 --- a/hosts/sirius/default.nix +++ /dev/null @@ -1,57 +0,0 @@ -{ - pkgs, - inputs, - username, - config, - ... -}: { - imports = [ - inputs.nixos-wsl.nixosModules.wsl - - ../common - ../../modules/nixos/virtualisation/docker.nix - ]; - - tux.services.openssh.enable = true; - - boot.binfmt.emulatedSystems = ["aarch64-linux"]; - - nixpkgs = { - config.cudaSupport = true; - hostPlatform = "x86_64-linux"; - }; - - wsl = { - enable = true; - defaultUser = "${username}"; - nativeSystemd = true; - useWindowsDriver = true; - }; - - networking.hostName = "sirius"; - - programs = { - ssh.startAgent = true; - zsh.enable = true; - - nix-ld = { - enable = true; - libraries = config.hardware.graphics.extraPackages; - package = pkgs.nix-ld-rs; - }; - - dconf.enable = true; - }; - - environment.persistence."/persist" = { - enable = false; - }; - - home-manager.users.${username} = { - imports = [ - ./home.nix - ]; - }; - - system.stateVersion = "23.11"; -} diff --git a/hosts/sirius/home.nix b/hosts/sirius/home.nix deleted file mode 100644 index 86ea8a7..0000000 --- a/hosts/sirius/home.nix +++ /dev/null @@ -1,3 +0,0 @@ -{...}: { - home.stateVersion = "23.11"; -} diff --git a/hosts/vega/default.nix b/hosts/vega/default.nix deleted file mode 100644 index d1dcbac..0000000 --- a/hosts/vega/default.nix +++ /dev/null @@ -1,66 +0,0 @@ -{ - pkgs, - username, - ... -}: { - imports = [ - ./hardware.nix - ../common - - ../../modules/nixos/selfhosted/adguard.nix - ]; - - tux.services.openssh.enable = true; - - boot.initrd.availableKernelModules = [ - "usbhid" - "usb_storage" - "vc4" - "pcie_brcmstb" # required for the pcie bus to work - "reset-raspberrypi" # required for vl805 firmware to load - ]; - - # Use the extlinux boot loader. (NixOS wants to enable GRUB by default) - boot.loader.grub.enable = false; - # Enables the generation of /boot/extlinux/extlinux.conf - boot.loader.generic-extlinux-compatible.enable = true; - - hardware.enableRedistributableFirmware = true; - powerManagement.cpuFreqGovernor = "ondemand"; - - networking = { - hostName = "vega"; - networkmanager = { - enable = true; - wifi.powersave = false; - }; - firewall = { - enable = true; - allowedTCPPorts = [22]; - - # Facilitate firewall punching - allowedUDPPorts = [41641]; - }; - }; - - services = { - tailscale = { - enable = true; - extraUpFlags = ["--login-server https://hs.tux.rs"]; - }; - }; - - environment.systemPackages = with pkgs; [go-wol]; - - environment.persistence."/persist" = { - enable = false; - }; - - home-manager.users.${username} = { - imports = [ - ./home.nix - ]; - }; - - system.stateVersion = "24.11"; -} diff --git a/hosts/vega/hardware.nix b/hosts/vega/hardware.nix deleted file mode 100644 index 3f13493..0000000 --- a/hosts/vega/hardware.nix +++ /dev/null @@ -1,32 +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, ... }: - -{ - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; - - boot.initrd.availableKernelModules = [ ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ ]; - boot.extraModulePackages = [ ]; - - fileSystems."/" = - { device = "/dev/disk/by-uuid/44444444-4444-4444-8888-888888888888"; - fsType = "ext4"; - }; - - swapDevices = [ ]; - - # Enables DHCP on each ethernet and wireless interface. In case of scripted networking - # (the default) this is the recommended approach. When using systemd-networkd it's - # still possible to use this option, but it's recommended to use it in conjunction - # with explicit per-interface declarations with `networking.interfaces..useDHCP`. - networking.useDHCP = lib.mkDefault true; - # networking.interfaces.enu1u1.useDHCP = lib.mkDefault true; - # networking.interfaces.wlan0.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux"; -} diff --git a/hosts/vega/home.nix b/hosts/vega/home.nix deleted file mode 100644 index 06e725e..0000000 --- a/hosts/vega/home.nix +++ /dev/null @@ -1,3 +0,0 @@ -{...}: { - home.stateVersion = "24.11"; -} diff --git a/hosts/vps/default.nix b/hosts/vps/default.nix deleted file mode 100644 index b533d6f..0000000 --- a/hosts/vps/default.nix +++ /dev/null @@ -1,101 +0,0 @@ -{ - modulesPath, - inputs, - username, - lib, - ... -}: { - imports = [ - (modulesPath + "/installer/scan/not-detected.nix") - (modulesPath + "/profiles/qemu-guest.nix") - inputs.disko.nixosModules.default - (import ./disko.nix {device = "/dev/sda";}) - - ../common - ]; - - tux.services.openssh.enable = true; - - nixpkgs = { - hostPlatform = "x86_64-linux"; - }; - - boot = { - initrd.systemd = { - enable = lib.mkForce true; - - services.wipe-my-fs = { - wantedBy = ["initrd.target"]; - after = ["initrd-root-device.target"]; - before = ["sysroot.mount"]; - unitConfig.DefaultDependencies = "no"; - serviceConfig.Type = "oneshot"; - script = '' - mkdir /btrfs_tmp - mount /dev/disk/by-partlabel/disk-primary-root /btrfs_tmp - - if [[ -e /btrfs_tmp/root ]]; then - mkdir -p /btrfs_tmp/old_roots - timestamp=$(date --date="@$(stat -c %Y /btrfs_tmp/root)" "+%Y-%m-%-d_%H:%M:%S") - mv /btrfs_tmp/root "/btrfs_tmp/old_roots/$timestamp" - fi - - delete_subvolume_recursively() { - IFS=$'\n' - for i in $(btrfs subvolume list -o "$1" | cut -f 9- -d ' '); do - delete_subvolume_recursively "/btrfs_tmp/$i" - done - btrfs subvolume delete "$1" - } - - for i in $(find /btrfs_tmp/old_roots/ -maxdepth 1 -mtime +30); do - delete_subvolume_recursively "$i" - done - - btrfs subvolume create /btrfs_tmp/root - umount /btrfs_tmp - ''; - }; - }; - - loader = { - grub = { - efiSupport = true; - efiInstallAsRemovable = true; - }; - }; - }; - - networking.hostName = "vps"; - - users = { - users.${username} = { - password = "${username}"; - hashedPasswordFile = lib.mkForce null; - }; - }; - - programs.fuse.userAllowOther = true; - fileSystems."/persist".neededForBoot = true; - environment.persistence."/persist" = { - hideMounts = true; - directories = [ - "/var/log" - "/var/lib/nixos" - ]; - files = [ - "/etc/ssh/ssh_host_ed25519_key" - "/etc/ssh/ssh_host_ed25519_key.pub" - "/etc/ssh/ssh_host_rsa_key" - "/etc/ssh/ssh_host_rsa_key.pub" - ]; - }; - - home-manager.users.${username} = { - imports = [ - ./home.nix - ]; - }; - - system.stateVersion = "24.11"; -} diff --git a/hosts/vps/disko.nix b/hosts/vps/disko.nix deleted file mode 100644 index 4a0c700..0000000 --- a/hosts/vps/disko.nix +++ /dev/null @@ -1,53 +0,0 @@ -{device ? throw "Set this to the disk device, e.g. /dev/nvme0n1", ...}: { - disko.devices.disk.primary = { - inherit device; - type = "disk"; - content = { - type = "gpt"; # GPT partitioning scheme - partitions = { - boot = { - name = "boot"; - size = "1M"; - type = "EF02"; - }; - # EFI Partition - ESP = { - size = "512M"; - type = "EF00"; - content = { - type = "filesystem"; - format = "vfat"; - mountpoint = "/boot"; - mountOptions = ["defaults" "umask=0077"]; - }; - }; - # Btrfs Root Partition - root = { - size = "100%"; # Use remaining space - type = "8300"; # Linux filesystem type - content = { - type = "btrfs"; - subvolumes = { - "/root" = { - mountOptions = ["compress=zstd"]; # Compression for better performance - mountpoint = "/"; # Root subvolume - }; - "/persist" = { - mountOptions = ["compress=zstd"]; # Compression for persistent data - mountpoint = "/persist"; # Persistent subvolume - }; - "/nix" = { - mountOptions = [ - "compress=zstd" - "noatime" - "noacl" - ]; # Optimize for Nix store - mountpoint = "/nix"; # Nix subvolume - }; - }; - }; - }; - }; - }; - }; -} diff --git a/hosts/vps/home.nix b/hosts/vps/home.nix deleted file mode 100644 index 1ae0bdd..0000000 --- a/hosts/vps/home.nix +++ /dev/null @@ -1,14 +0,0 @@ -{username, ...}: { - home.persistence."/persist/home/${username}" = { - directories = [ - "Projects" - ".ssh" - ]; - files = [ - ".zsh_history" - ]; - allowOther = true; - }; - - home.stateVersion = "24.11"; -} diff --git a/modules/base/default.nix b/modules/base/default.nix deleted file mode 100644 index e5d0cf6..0000000 --- a/modules/base/default.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ - imports = [ - ./nix.nix - ./nixpkgs.nix - ./nh.nix - ./overlays.nix - ./sops.nix - ./substituters.nix - ./user.nix - ]; -} diff --git a/modules/base/nh.nix b/modules/base/nh.nix deleted file mode 100644 index 1f099a0..0000000 --- a/modules/base/nh.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ - config, - username, - ... -}: { - programs.nh = { - enable = true; - - clean = { - enable = !config.nix.gc.automatic; - dates = "weekly"; - }; - - flake = "/home/${username}/Projects/nixos-config"; - }; -} diff --git a/modules/base/nix.nix b/modules/base/nix.nix deleted file mode 100644 index 5be9b16..0000000 --- a/modules/base/nix.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ - pkgs, - username, - ... -}: { - nix = { - package = pkgs.lix; - - gc = { - automatic = true; - options = "--delete-older-than 3d"; - }; - - channel.enable = false; - - settings = { - extra-platforms = ["aarch64-linux" "arm-linux"]; - auto-optimise-store = true; - allowed-users = ["${username}"]; - trusted-users = ["${username}"]; - experimental-features = "nix-command flakes"; - keep-going = true; - warn-dirty = false; - http-connections = 50; - }; - }; -} diff --git a/modules/base/nixpkgs.nix b/modules/base/nixpkgs.nix deleted file mode 100644 index 9915423..0000000 --- a/modules/base/nixpkgs.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ - nixpkgs = { - config = { - allowUnfree = true; - joypixels.acceptLicense = true; - }; - }; -} diff --git a/modules/base/overlays.nix b/modules/base/overlays.nix deleted file mode 100644 index 7ff88b8..0000000 --- a/modules/base/overlays.nix +++ /dev/null @@ -1,9 +0,0 @@ -{outputs, ...}: { - nixpkgs.overlays = [ - outputs.overlays.additions - outputs.overlays.modifications - outputs.overlays.stable-packages - outputs.overlays.nur - outputs.overlays.nix-vscode-extensions - ]; -} diff --git a/modules/base/sops.nix b/modules/base/sops.nix deleted file mode 100644 index 6dd1e38..0000000 --- a/modules/base/sops.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ - inputs, - config, - pkgs, - ... -}: let - isEd25519 = k: k.type == "ed25519"; - getKeyPath = k: k.path; - keys = builtins.filter isEd25519 config.services.openssh.hostKeys; -in { - imports = [inputs.sops-nix.nixosModules.sops]; - - sops.age = { - sshKeyPaths = map getKeyPath keys; - keyFile = "/var/lib/sops-nix/key.txt"; - generateKey = true; - }; - - environment.systemPackages = with pkgs; [sops]; -} diff --git a/modules/base/substituters.nix b/modules/base/substituters.nix deleted file mode 100644 index 4e8a664..0000000 --- a/modules/base/substituters.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ - nix.settings = { - substituters = [ - "https://cache.nixos.org?priority=10" - "https://anyrun.cachix.org" - "https://fufexan.cachix.org" - "https://helix.cachix.org" - "https://hyprland.cachix.org" - "https://nix-community.cachix.org" - "https://nix-gaming.cachix.org" - "https://yazi.cachix.org" - "https://nix-on-droid.cachix.org" - ]; - trusted-substituters = ["https://nix-on-droid.cachix.org"]; - trusted-public-keys = [ - "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" - "anyrun.cachix.org-1:pqBobmOjI7nKlsUMV25u9QHa9btJK65/C8vnO3p346s=" - "fufexan.cachix.org-1:LwCDjCJNJQf5XD2BV+yamQIMZfcKWR9ISIFy5curUsY=" - "helix.cachix.org-1:ejp9KQpR1FBI2onstMQ34yogDm4OgU2ru6lIwPvuCVs=" - "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" - "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" - "nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4=" - "yazi.cachix.org-1:Dcdz63NZKfvUCbDGngQDAZq6kOroIrFoyO064uvLh8k=" - "nix-on-droid.cachix.org-1:56snoMJTXmDRC1Ei24CmKoUqvHJ9XCp+nidK7qkMQrU=" - ]; - }; -} diff --git a/modules/base/user.nix b/modules/base/user.nix deleted file mode 100644 index c63052e..0000000 --- a/modules/base/user.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ - config, - pkgs, - username, - email, - ... -}: { - users = { - mutableUsers = false; - defaultUserShell = pkgs.zsh; - users.${username} = { - hashedPasswordFile = config.sops.secrets.tux-password.path; - isNormalUser = true; - extraGroups = ["networkmanager" "wheel" "storage"]; - openssh.authorizedKeys.keys = [ - ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL+OzPUe2ECPC929DqpkM39tl/vdNAXfsRnmrGfR+X3D ${email}'' - ]; - }; - }; -} diff --git a/modules/droid/sshd.nix b/modules/droid/sshd.nix deleted file mode 100644 index 43a7dba..0000000 --- a/modules/droid/sshd.nix +++ /dev/null @@ -1,106 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: let - # utility functions - concatLines = list: builtins.concatStringsSep "\n" list; - - prefixLines = mapper: list: concatLines (map mapper list); - - # could be put in the config - configPath = "ssh/sshd_config"; - - keysFolder = "/etc/ssh"; - - authorizedKeysFolder = "/etc/ssh/authorized_keys.d"; - - supportedKeysTypes = [ - "rsa" - "ed25519" - ]; - - sshd-start-bin = "sshd-start"; - - # real config - cfg = config.tux.services.openssh; - - pathOfKeyOf = type: "${keysFolder}/ssh_host_${type}_key"; - - generateKeyOf = type: '' - ${lib.getExe' pkgs.openssh "ssh-keygen"} \ - -t "${type}" \ - -f "${pathOfKeyOf type}" \ - -N "" - ''; - - generateKeyWhenNeededOf = type: '' - if [ ! -f ${pathOfKeyOf type} ]; then - mkdir --parents ${keysFolder} - ${generateKeyOf type} - fi - ''; - - sshd-start = pkgs.writeScriptBin sshd-start-bin '' - #!${pkgs.runtimeShell} - ${prefixLines generateKeyWhenNeededOf supportedKeysTypes} - - mkdir --parents "${authorizedKeysFolder}" - echo "${lib.concatStringsSep "\n" cfg.authorizedKeys}" > ${authorizedKeysFolder}/${config.user.userName} - - echo "Starting sshd in non-daemonized way on port ${lib.concatMapStrings toString cfg.ports}" - ${lib.getExe' pkgs.openssh "sshd"} \ - -f "/etc/${configPath}" \ - -D # don't detach into a daemon process - ''; -in { - options = { - tux.services.openssh = { - enable = lib.mkEnableOption '' - Whether to enable the OpenSSH secure shell daemon, which - allows secure remote logins. - ''; - - ports = lib.mkOption { - type = lib.types.listOf lib.types.port; - default = [22]; - description = '' - Specifies on which ports the SSH daemon listens. - ''; - }; - - authorizedKeys = lib.mkOption { - type = lib.types.listOf lib.types.str; - default = []; - description = '' - Specify a list of public keys to be added to the authorized_keys file. - ''; - }; - }; - }; - - config = lib.mkIf cfg.enable { - environment.etc = { - "${configPath}".text = '' - ${prefixLines (port: "Port ${toString port}") cfg.ports} - - AuthorizedKeysFile ${authorizedKeysFolder}/%u - - LogLevel VERBOSE - ''; - }; - - environment.packages = [ - sshd-start - pkgs.openssh - ]; - - build.activationAfter.sshd = '' - SERVER_PID=$(${lib.getExe' pkgs.procps "ps"} -a | ${lib.getExe' pkgs.toybox "grep"} sshd || true) - if [ -z "$SERVER_PID" ]; then - $DRY_RUN_CMD ${lib.getExe sshd-start} - fi - ''; - }; -} diff --git a/modules/home/alacritty/default.nix b/modules/home/alacritty/default.nix deleted file mode 100755 index d3ab490..0000000 --- a/modules/home/alacritty/default.nix +++ /dev/null @@ -1,69 +0,0 @@ -{...}: { - programs.alacritty = { - enable = true; - - settings = { - font = { - normal.family = "JetBrainsMono Nerd Font"; - bold.family = "JetBrainsMono Nerd Font"; - italic.family = "JetBrainsMono Nerd Font"; - bold_italic.family = "JetBrainsMono Nerd Font"; - size = 16; - }; - - window = { - padding = { - x = 15; - y = 15; - }; - - decorations = "none"; - opacity = 1.0; - dynamic_title = true; - }; - - selection.save_to_clipboard = false; - - live_config_reload = true; - - colors = { - primary = { - background = "#0d0f18"; - foreground = "#a5b6cf"; - }; - normal = { - black = "#1c1e27"; - blue = "#8baff1"; - cyan = "#98d3ee"; - green = "#95d3af"; - magenta = "#c79bf0"; - red = "#e26c7c"; - white = "#d0d3d8"; - yellow = "#f1d8a5"; - }; - bright = { - black = "#151720"; - blue = "#86aaec"; - cyan = "#93cee9"; - green = "#90ceaa"; - magenta = "#c296eb"; - red = "#dd6777"; - white = "#cbced3"; - yellow = "#ecd3a0"; - }; - cursor = { - cursor = "#a5b6cf"; - text = "CellForeground"; - }; - selection = { - text = "CellForeground"; - background = "0x303340"; - }; - vi_mode_cursor = { - text = "CellBackground"; - cursor = "CellForeground"; - }; - }; - }; - }; -} diff --git a/modules/home/aria2/default.nix b/modules/home/aria2/default.nix deleted file mode 100644 index 752dd96..0000000 --- a/modules/home/aria2/default.nix +++ /dev/null @@ -1,44 +0,0 @@ -{...}: { - programs.aria2 = { - enable = true; - settings = { - file-allocation = "none"; - log-level = "warn"; - max-connection-per-server = 16; - min-split-size = "1M"; - human-readable = true; - reuse-uri = true; - rpc-save-upload-metadata = true; - max-file-not-found = 0; - remote-time = true; - async-dns = true; - stop = 0; - allow-piece-length-change = true; - optimize-concurrent-downloads = true; - deferred-input = true; - continue = true; - check-integrity = true; - realtime-chunk-checksum = true; - piece-length = "1M"; - split = 16; - # Seconds: - save-session-interval = 60; - # Caches in memory - disk-cache = "32M"; - save-not-found = true; - download-result = "full"; - truncate-console-readout = true; - retry-wait = 30; - max-tries = 15; - enable-color = true; - enable-http-keep-alive = true; - enable-http-pipelining = true; - http-accept-gzip = true; - follow-torrent = true; - bt-save-metadata = true; - seed-time = 0; - bt-load-saved-metadata = true; - metalink-preferred-protocol = "https"; - }; - }; -} diff --git a/modules/home/barrier/default.nix b/modules/home/barrier/default.nix deleted file mode 100755 index 0f3a8df..0000000 --- a/modules/home/barrier/default.nix +++ /dev/null @@ -1,7 +0,0 @@ -{pkgs, ...}: { - # services.barrier.client.enable = true; - - home.packages = with pkgs; [ - barrier - ]; -} diff --git a/modules/home/bitwarden/default.nix b/modules/home/bitwarden/default.nix deleted file mode 100644 index ba0f39b..0000000 --- a/modules/home/bitwarden/default.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ - pkgs, - email, - ... -}: { - programs.rbw = { - enable = true; - settings = { - base_url = "https://bw.tux.rs"; - email = "${email}"; - }; - }; - - home.packages = with pkgs; [ - bitwarden - ]; -} diff --git a/modules/home/desktop/awesome/default.nix b/modules/home/desktop/awesome/default.nix deleted file mode 100644 index 15d1f22..0000000 --- a/modules/home/desktop/awesome/default.nix +++ /dev/null @@ -1,8 +0,0 @@ -{pkgs, ...}: { - home.file = { - ".config/awesome" = { - recursive = true; - source = "${pkgs.tux-awesome-wm-config}"; - }; - }; -} diff --git a/modules/home/desktop/hyprland/default.nix b/modules/home/desktop/hyprland/default.nix deleted file mode 100644 index 5552e34..0000000 --- a/modules/home/desktop/hyprland/default.nix +++ /dev/null @@ -1,273 +0,0 @@ -{pkgs, ...}: { - programs = { - waybar = { - enable = true; - }; - }; - - wayland.windowManager.hyprland = { - enable = true; - xwayland.enable = true; - settings = let - # Notify - notifycmd = "notify-send -h string:x-canonical-private-synchronous:hypr-cfg -u low"; - - # Elements - hypr_border_size = 2; - hypr_gaps_in = 5; - hypr_gaps_out = 10; - hypr_gaps_ws = -10; - hypr_rounding = 10; - groupbar_font_family = "Iosevka"; - groupbar_font_size = 10; - - # Colors - active_border_col = "rgba(90ceaaff) rgba(ecd3a0ff) 45deg"; - inactive_border_col = "rgba(86aaeccc) rgba(93cee9cc) 45deg"; - active_shadow_col = "0x66000000"; - inactive_shadow_col = "0x66000000"; - group_border_active_col = "rgba(90ceaaff) rgba(ecd3a0ff) 45deg"; - group_border_inactive_col = "rgba(86aaeccc) rgba(93cee9cc) 45deg"; - group_border_locked_active_col = "rgba(90ceaaff) rgba(ecd3a0ff) 45deg"; - group_border_locked_inactive_col = "rgba(86aaeccc) rgba(93cee9cc) 45deg"; - groupbar_text_color = "0xFFf1fcf9"; - in { - #-- General - general = { - border_size = hypr_border_size; - gaps_in = hypr_gaps_in; - gaps_out = hypr_gaps_out; - gaps_workspaces = hypr_gaps_ws; - "col.active_border" = active_border_col; - "col.inactive_border" = inactive_border_col; - layout = "master"; - resize_on_border = true; - }; - - #-- Decoration - decoration = { - rounding = hypr_rounding; - active_opacity = 0.75; - inactive_opacity = 0.75; - fullscreen_opacity = 1.0; - drop_shadow = true; - shadow_range = 25; - shadow_render_power = 3; - "col.shadow" = active_shadow_col; - "col.shadow_inactive" = inactive_shadow_col; - - blur = { - enabled = true; - size = 5; - passes = 4; - ignore_opacity = true; - xray = true; - special = true; - }; - }; - - #-- Animations - animations = { - enabled = true; - first_launch_animation = true; - animation = [ - "windowsIn,1,5,default,popin 0%" - "windowsOut,1,5,default,popin" - "windowsMove,1,5,default,slide" - "fadeIn,1,8,default" - "fadeOut,1,8,default" - "fadeSwitch,1,8,default" - "fadeShadow,1,8,default" - "fadeDim,1,8,default" - "border,1,10,default" - "borderangle,1,10,default" - "workspaces,1,5,default,slide" - "specialWorkspace,1,5,default,fade" - ]; - }; - - #-- Input: Keyboard, Mouse, Touchpad - input = { - sensitivity = 0.5; - scroll_method = "2 fg"; - natural_scroll = true; - touchpad = { - natural_scroll = true; - clickfinger_behavior = false; - }; - }; - - #-- Group - group = { - "col.border_active" = group_border_active_col; - "col.border_inactive" = group_border_inactive_col; - "col.border_locked_active" = group_border_locked_active_col; - "col.border_locked_inactive" = group_border_locked_inactive_col; - groupbar = { - enabled = true; - font_family = groupbar_font_family; - font_size = groupbar_font_size; - text_color = groupbar_text_color; - "col.active" = group_border_active_col; - "col.inactive" = group_border_inactive_col; - "col.locked_active" = group_border_locked_active_col; - "col.locked_inactive" = group_border_locked_inactive_col; - }; - }; - - #-- Miscellaneous - misc = { - disable_hyprland_logo = true; - force_default_wallpaper = 0; - focus_on_activate = true; - }; - - #-- Output - monitor = ",preferred,auto,1"; - - #-- Layout : Dwindle - dwindle = { - pseudotile = false; - force_split = 0; - preserve_split = false; - smart_split = false; - smart_resizing = true; - permanent_direction_override = false; - special_scale_factor = 0.8; - split_width_multiplier = 1.0; - no_gaps_when_only = false; - use_active_for_splits = true; - default_split_ratio = 1.0; - }; - - #-- Layout : Master - master = { - allow_small_split = false; - special_scale_factor = 0.8; - mfact = 0.5; - new_on_top = false; - no_gaps_when_only = false; - orientation = "left"; - inherit_fullscreen = true; - always_center_master = false; - smart_resizing = true; - drop_at_cursor = true; - }; - - #-- Window Rules - windowrule = []; - - #-- Keybindings - bind = let - terminal = "alacritty"; - browser = "firefox"; - filemanager = "thunar"; - editor = "geany"; - in [ - # groups - "SUPER, G, togglegroup" - "SUPER, G, exec, ${notifycmd} 'Toggled Group Mode'" - "SUPER, H, changegroupactive, b" - "SUPER, L, changegroupactive, f" - "SUPER_SHIFT, L, lockactivegroup, toggle" - "SUPER_SHIFT, L, exec, ${notifycmd} 'Toggled Group Lock'" - - # terminal - "SUPER, Return, exec, ${terminal}" - - # apps - "SUPER_SHIFT, F, exec, ${filemanager}" - "SUPER_SHIFT, E, exec, ${editor}" - "SUPER_SHIFT, B, exec, ${browser}" - - # hyprland - "SUPER, Q, killactive," - "SUPER, C, killactive," - "CTRL_ALT, Delete, exit," - "SUPER, F, fullscreen, 0" - "SUPER, F, exec, ${notifycmd} 'Fullscreen Mode'" - "SUPER, S, pseudo," - "SUPER, S, exec, ${notifycmd} 'Pseudo Mode'" - "SUPER, Space, togglefloating," - "SUPER, Space, centerwindow," - - # change focus - "SUPER, left, movefocus, l" - "SUPER, right, movefocus, r" - "SUPER, up, movefocus, u" - "SUPER, down, movefocus, d" - - # move active - "SUPER_SHIFT, left, movewindow, l" - "SUPER_SHIFT, right, movewindow, r" - "SUPER_SHIFT, up, movewindow, u" - "SUPER_SHIFT, down, movewindow, d" - - # switch between windows - "SUPER,Tab,cyclenext," - "SUPER,Tab,bringactivetotop," - - # workspaces - "SUPER, 1, workspace, 1" - "SUPER, 2, workspace, 2" - "SUPER, 3, workspace, 3" - "SUPER, 4, workspace, 4" - "SUPER, 5, workspace, 5" - "SUPER, 6, workspace, 6" - "SUPER, 7, workspace, 7" - "SUPER, 8, workspace, 8" - - # send to workspaces - "SUPER_SHIFT, 1, movetoworkspace, 1" - "SUPER_SHIFT, 2, movetoworkspace, 2" - "SUPER_SHIFT, 3, movetoworkspace, 3" - "SUPER_SHIFT, 4, movetoworkspace, 4" - "SUPER_SHIFT, 5, movetoworkspace, 5" - "SUPER_SHIFT, 6, movetoworkspace, 6" - "SUPER_SHIFT, 7, movetoworkspace, 7" - "SUPER_SHIFT, 8, movetoworkspace, 8" - - # seamless workspace switching - "CTRL_ALT, left, workspace, e-1" - "CTRL_ALT, right, workspace, e+1" - "CTRL_ALT_SHIFT, left, movetoworkspace, e-1" - "CTRL_ALT_SHIFT, right, movetoworkspace, e+1" - - # change workspace mode - "SUPER_CTRL, F, workspaceopt, allfloat" - "SUPER_CTRL, F, exec, ${notifycmd} 'Toggled All Float Mode'" - "SUPER_CTRL, S, workspaceopt, allpseudo" - "SUPER_CTRL, S, exec, ${notifycmd} 'Toggled All Pseudo Mode'" - - # misc - "SUPER_SHIFT, P, pin," - "SUPER_SHIFT, P, exec, ${notifycmd} 'Toggled Pin'" - "SUPER_SHIFT, S, swapnext" - ]; - - binde = [ - # resize active - "SUPER_CTRL, left, resizeactive, -20 0" - "SUPER_CTRL, right, resizeactive, 20 0" - "SUPER_CTRL, up, resizeactive, 0 -20" - "SUPER_CTRL, down, resizeactive, 0 20" - - # move active (Floating Only) - "SUPER_ALT, left, moveactive, -20 0" - "SUPER_ALT, right, moveactive, 20 0" - "SUPER_ALT, up, moveactive, 0 -20" - "SUPER_ALT, down, moveactive, 0 20" - ]; - bindm = [ - # mouse buttons - "SUPER, mouse:272, movewindow" - "SUPER, mouse:273, resizewindow" - ]; - - "exec-once" = [ - "${pkgs.swaybg}/bin/swaybg -i ~/Wallpapers/moments_before_desk.png" - "waybar" - ]; - }; - }; -} diff --git a/modules/home/desktop/rofi/default.nix b/modules/home/desktop/rofi/default.nix deleted file mode 100644 index 8d72dfb..0000000 --- a/modules/home/desktop/rofi/default.nix +++ /dev/null @@ -1,317 +0,0 @@ -{config, ...}: { - programs.rofi = { - enable = true; - extraConfig = { - terminal = "alacritty"; - - modes = "combi,keys"; - - display-window = "window"; - display-drun = "run"; - display-windowcd = "windowcd"; - display-run = "run"; - display-ssh = "ssh"; - display-combi = "combi"; - display-keys = "keys"; - display-filebrowser = "filebrowser"; - - combi-modes = "window,drun"; - combi-hide-mode-prefix = false; - combi-display-format = "{mode} {text}"; - - window-format = "[{w=-1}] {c=-1} {t=-1}"; - window-thumbnail = false; - - drun-url-launcher = "xdg-open"; - drun-match-fields = "name,generic,exec,categories,keywords"; - drun-display-format = "{name}[ ({generic})][ {exec}]"; - drun-show-actions = true; - - run-command = "{cmd}"; - run-list-command = ""; - run-shell-command = "{terminal} -e {cmd}"; - - matching = "normal"; - font = "JetBrains Mono 11"; - show-icons = true; - scroll-method = 0; - cycle = false; - fixed-num-lines = false; - }; - theme = let - inherit (config.lib.formats.rasi) mkLiteral; - in { - "*" = { - font = "JetBrains Mono 11"; - - black = mkLiteral "#1d1f21"; - white = mkLiteral "#c5c8c6"; - red = mkLiteral "#cc6666"; - orange = mkLiteral "#de935f"; - yellow = mkLiteral "#f0c674"; - green = mkLiteral "#7cb36b"; - cyan = mkLiteral "#78bab9"; - blue = mkLiteral "#81a2be"; - magenta = mkLiteral "#b294bb"; - - black-bright = mkLiteral "#3c4044"; - white-bright = mkLiteral "#eaeaea"; - red-bright = mkLiteral "#d54e53"; - orange-bright = mkLiteral "#e78c45"; - yellow-bright = mkLiteral "#e7c547"; - green-bright = mkLiteral "#71c464"; - cyan-bright = mkLiteral "#6acdcc"; - blue-bright = mkLiteral "#7aa6da"; - magenta-bright = mkLiteral "#c397d8"; - - black-66 = mkLiteral "#131415"; - white-66 = mkLiteral "#828382"; - red-66 = mkLiteral "#864343"; - orange-66 = mkLiteral "#92613e"; - yellow-66 = mkLiteral "#9e824c"; - green-66 = mkLiteral "#517646"; - cyan-66 = mkLiteral "#4f7a7a"; - blue-66 = mkLiteral "#556a7d"; - magenta-66 = mkLiteral "#75617b"; - - black-33 = mkLiteral "#090a0a"; - white-33 = mkLiteral "#414141"; - red-33 = mkLiteral "#432121"; - orange-33 = mkLiteral "#49301f"; - yellow-33 = mkLiteral "#4f4126"; - green-33 = mkLiteral "#283b23"; - cyan-33 = mkLiteral "#273d3d"; - blue-33 = mkLiteral "#2a353e"; - magenta-33 = mkLiteral "#3a303d"; - - common-background = mkLiteral "@black"; - common-background-bright = mkLiteral "@black-bright"; - common-background-66 = " @black-66"; - common-foreground = mkLiteral "@white"; - common-foreground-bright = mkLiteral "@white-bright"; - common-foreground-66 = mkLiteral "@white-66"; - common-primary = mkLiteral "@yellow"; - common-primary-bright = mkLiteral "@yellow-bright"; - common-primary-66 = mkLiteral "@yellow-66"; - common-primary-33 = mkLiteral "@yellow-33"; - common-secondary = mkLiteral "@blue"; - common-secondary-bright = mkLiteral "@blue-bright"; - common-secondary-66 = mkLiteral "@blue-66"; - common-secondary-33 = mkLiteral "@blue-33"; - common-urgent = mkLiteral "@red"; - common-urgent-bright = mkLiteral "@red-bright"; - common-urgent-66 = mkLiteral "@red-66"; - common-urgent-33 = mkLiteral "@red-33"; - - background-color = mkLiteral "transparent"; - - normal-normal-background = mkLiteral "transparent"; - normal-normal-foreground = mkLiteral "@common-foreground"; - normal-normal-border-color = mkLiteral "transparent"; - normal-active-background = mkLiteral "transparent"; - normal-active-foreground = mkLiteral "@common-secondary-bright"; - normal-active-border-color = mkLiteral "transparent"; - normal-urgent-background = mkLiteral "transparent"; - normal-urgent-foreground = mkLiteral "@common-urgent-bright"; - normal-urgent-border-color = mkLiteral "transparent"; - - selected-normal-background = mkLiteral "@common-primary-33"; - selected-normal-foreground = mkLiteral "@common-primary-bright"; - selected-normal-border-color = mkLiteral "@common-primary-66"; - selected-active-background = mkLiteral "@common-secondary-33"; - selected-active-foreground = mkLiteral "@common-secondary-bright"; - selected-active-border-color = mkLiteral "@common-secondary-66"; - selected-urgent-background = mkLiteral "@common-urgent-33"; - selected-urgent-foreground = mkLiteral "@common-urgent-bright"; - selected-urgent-border-color = mkLiteral "@common-urgent-66"; - - alternate-normal-background = mkLiteral "@normal-normal-background"; - alternate-normal-foreground = mkLiteral "@normal-normal-foreground"; - alternate-normal-border-color = mkLiteral "@normal-normal-border-color"; - alternate-active-background = mkLiteral "@normal-active-background"; - alternate-active-foreground = mkLiteral "@normal-active-foreground"; - alternate-active-border-color = mkLiteral "@normal-active-border-color"; - alternate-urgent-background = mkLiteral "@normal-urgent-background"; - alternate-urgent-foreground = mkLiteral "@normal-urgent-foreground"; - alternate-urgent-border-color = mkLiteral "@normal-urgent-border-color"; - }; - - "window" = { - background-color = mkLiteral "#1d1f21e6"; #// @black + 0.85 alpha - border = 3; - border-color = mkLiteral "@black-bright"; - border-radius = 16; - width = 1024; - height = 460; - }; - - "mainbox" = { - padding = 16; - spacing = 16; - }; - - "inputbar" = { - background-color = mkLiteral "#333537"; #// @black-110 - border = 1; - border-color = mkLiteral "#606263"; #// @black-130 - border-radius = 8; - padding = mkLiteral "12 16"; - spacing = 0; - text-color = mkLiteral "@common-foreground"; - children = mkLiteral "[ entry, case-indicator, num-filtered-rows, textbox-num-sep, num-rows ]"; - }; - - "prompt" = { - background-color = mkLiteral "transparent"; - text-color = mkLiteral "@common-foreground-bright"; - spacing = 0; - text-transform = mkLiteral "bold"; - }; - - "textbox-prompt-colon" = { - background-color = mkLiteral "transparent"; - text-color = mkLiteral "inherit"; - margin = mkLiteral "0 0.3em 0 0"; - expand = false; - str = "="; - }; - - "entry" = { - background-color = mkLiteral "transparent"; - text-color = mkLiteral "@common-foreground-bright"; - cursor = "text"; - placeholder-color = mkLiteral "@common-foreground-66"; - placeholder = "Type to filter"; - }; - - "case-indicator" = { - background-color = mkLiteral "transparent"; - text-color = mkLiteral "inherit"; - }; - - "num-filtered-rows" = { - background-color = mkLiteral "transparent"; - text-color = mkLiteral "inherit"; - expand = false; - }; - - "textbox-num-sep" = { - background-color = mkLiteral "transparent"; - text-color = mkLiteral "inherit"; - expand = false; - str = "/"; - }; - - "num-rows" = { - background-color = mkLiteral "transparent"; - text-color = mkLiteral "inherit"; - expand = false; - }; - - "message" = { - background-color = mkLiteral "@cyan-33"; - border = 1; - border-color = mkLiteral "@cyan-66"; - border-radius = 8; - padding = 16; - }; - - "textbox" = { - background-color = mkLiteral "transparent"; - text-color = mkLiteral "@cyan-bright"; - }; - - "listview" = { - dynamic = true; - scrollbar = true; - spacing = 0; - }; - - "scrollbar" = { - background-color = mkLiteral "transparent"; - padding = 0; - margin = mkLiteral "0 0 0 4"; - handle-width = 8; - border = 0; - handle-color = mkLiteral "#626463"; #// @white-50 - }; - - "element" = { - border = 1; - border-radius = 8; - padding = mkLiteral "6 12"; - margin = mkLiteral "1 0"; - spacing = 12; - children = mkLiteral "[ element-icon, element-text ]"; - }; - - "element-icon" = { - background-color = mkLiteral "transparent"; - text-color = mkLiteral "inherit"; - size = mkLiteral "1.0em"; - cursor = mkLiteral "inherit"; - }; - - "element-text" = { - background-color = mkLiteral "transparent"; - text-color = mkLiteral "inherit"; - highlight = mkLiteral "inherit"; - cursor = mkLiteral "inherit"; - }; - - "element normal.normal" = { - background-color = mkLiteral "@normal-normal-background"; - text-color = mkLiteral "@normal-normal-foreground"; - border-color = mkLiteral "@normal-normal-border-color"; - }; - - "element normal.urgent" = { - background-color = mkLiteral "@normal-urgent-background"; - text-color = mkLiteral "@normal-urgent-foreground"; - border-color = mkLiteral "@normal-urgent-border-color"; - }; - - "element normal.active" = { - background-color = mkLiteral "@normal-active-background"; - text-color = mkLiteral "@normal-active-foreground"; - border-color = mkLiteral "@normal-active-border-color"; - }; - - "element selected.normal" = { - background-color = mkLiteral "@selected-normal-background"; - text-color = mkLiteral "@selected-normal-foreground"; - border-color = mkLiteral "@selected-normal-border-color"; - }; - - "element selected.urgent" = { - background-color = mkLiteral "@selected-urgent-background"; - text-color = mkLiteral "@selected-urgent-foreground"; - border-color = mkLiteral "@selected-urgent-border-color"; - }; - - "element selected.active" = { - background-color = mkLiteral "@selected-active-background"; - text-color = mkLiteral "@selected-active-foreground"; - border-color = mkLiteral "@selected-active-border-color"; - }; - - "element alternate.normal" = { - background-color = mkLiteral "@alternate-normal-background"; - text-color = mkLiteral "@alternate-normal-foreground"; - border-color = mkLiteral "@alternate-normal-border-color"; - }; - - "element alternate.urgent" = { - background-color = mkLiteral "@alternate-urgent-background"; - text-color = mkLiteral "@alternate-urgent-foreground"; - border-color = mkLiteral "@alternate-urgent-border-color"; - }; - - "element alternate.active" = { - background-color = mkLiteral "@alternate-active-background"; - text-color = mkLiteral "@alternate-active-foreground"; - border-color = mkLiteral "@alternate-active-border-color"; - }; - }; - }; -} diff --git a/modules/home/desktop/waybar/default.nix b/modules/home/desktop/waybar/default.nix deleted file mode 100644 index 49b760e..0000000 --- a/modules/home/desktop/waybar/default.nix +++ /dev/null @@ -1,338 +0,0 @@ -{...}: { - programs = { - waybar = { - enable = true; - settings = { - mainBar = { - position = "top"; - layer = "top"; - height = 35; - margin-top = 0; - margin-bottom = 0; - margin-left = 0; - margin-right = 0; - exclusive = true; - passthrough = false; - - modules-left = [ - "custom/l_end" - "cpu" - "memory" - "custom/r_end" - ]; - modules-center = [ - "custom/l_end" - "hyprland/workspaces" - "custom/r_end" - ]; - modules-right = [ - "custom/l_end" - "network" - "bluetooth" - "battery" - "tray" - "custom/r_end" - ]; - - "hyprland/workspaces" = { - "disable-scroll" = true; - "all-outputs" = true; - "active-only" = false; - "on-click" = "activate"; - "persistent-workspaces" = { - "1" = []; - "2" = []; - "3" = []; - "4" = []; - }; - }; - - "network" = { - "tooltip" = true; - "format-wifi" = "  {bandwidthDownBytes}  {bandwidthUpBytes}"; - "format-ethernet" = "󰈀  {bandwidthDownBytes}  {bandwidthUpBytes}"; - "tooltip-format" = "Network= {essid}\nSignal strength= {signaldBm}dBm ({signalStrength}%)\nFrequency= {frequency}MHz\nInterface= {ifname}\nIP= {ipaddr}/{cidr}\nGateway= {gwaddr}\nNetmask= {netmask}"; - "format-linked" = "󰈀 {ifname} (No IP)"; - "format-disconnected" = "󰖪 "; - "tooltip-format-disconnected" = "Disconnected"; - "interval" = 2; - }; - - "battery" = { - "states" = { - "good" = 95; - "warning" = 30; - "critical" = 20; - }; - "format" = "{icon} {capacity}%"; - "format-charging" = " {capacity}%"; - "format-plugged" = " {capacity}%"; - "format-alt" = "{time} {icon}"; - "format-icons" = ["󰂎" "󰁺" "󰁻" "󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" "󰁹"]; - }; - - "bluetooth" = { - "format" = ""; - "format-disabled" = ""; - "format-connected" = " {num_connections}"; - "format-connected-battery" = "{icon} {num_connections}"; - # "format-connected-battery"= "{icon} {device_alias}-{device_battery_percentage}%"; - "format-icons" = ["󰥇" "󰤾" "󰤿" "󰥀" "󰥁" "󰥂" "󰥃" "󰥄" "󰥅" "󰥆" "󰥈"]; - # "format-device-preference"= [ "device1"; "device2" ]; // preference list deciding the displayed device If this config option is not defined or none of the devices in the list are connected; it will fall back to showing the last connected device. - "tooltip-format" = "{controller_alias}\n{num_connections} connected"; - "tooltip-format-connected" = "{controller_alias}\n{num_connections} connected\n\n{device_enumerate}"; - "tooltip-format-enumerate-connected" = "{device_alias}"; - "tooltip-format-enumerate-connected-battery" = "{device_alias}\t{icon} {device_battery_percentage}%"; - }; - - "memory" = { - "states" = { - "c" = 90; # critical - "h" = 60; # high - "m" = 30; # medium - }; - "interval" = 30; - "format" = "󰾆 {used}GB"; - "format-m" = "󰾅 {used}GB"; - "format-h" = "󰓅 {used}GB"; - "format-c" = " {used}GB"; - "format-alt" = "󰾆 {percentage}%"; - "max-length" = 10; - "tooltip" = true; - "tooltip-format" = "󰾆 {percentage}%\n {used=0.1f}GB/{total=0.1f}GB"; - }; - - "cpu" = { - "interval" = 10; - "format" = "󰍛 {usage}%"; - "format-alt" = "{icon0}{icon1}{icon2}{icon3}"; - "format-icons" = ["▁" "▂" "▃" "▄" "▅" "▆" "▇" "█"]; - }; - - "tray" = { - "icon-size" = 14; - "spacing" = 5; - }; - - "custom/l_end" = { - "format" = " "; - "interval" = "once"; - "tooltip" = false; - }; - - "custom/r_end" = { - "format" = " "; - "interval" = "once"; - "tooltip" = false; - }; - - "custom/sl_end" = { - "format" = " "; - "interval" = "once"; - "tooltip" = false; - }; - - "custom/sr_end" = { - "format" = " "; - "interval" = "once"; - "tooltip" = false; - }; - - "custom/rl_end" = { - "format" = " "; - "interval" = "once"; - "tooltip" = false; - }; - - "custom/rr_end" = { - "format" = " "; - "interval" = "once"; - "tooltip" = false; - }; - - "custom/padd" = { - "format" = " "; - "interval" = "once"; - "tooltip" = false; - }; - }; - }; - style = let - bar_bg = "rgba(23, 28, 34, 0.95)"; - main_bg = "#101419"; - main_fg = "#93cee9"; - - wb_act_bg = "#90ceaa"; - wb_act_fg = "#1f2328"; - - wb_hvr_bg = "#90ceaa"; - wb_hvr_fg = "#1f2328"; - in '' - * { - border: none; - border-radius: 0px; - font-family: "JetBrainsMono Nerd Font"; - font-weight: bold; - font-size: 20px; - min-height: 10px; - } - - window#waybar { - background: ${bar_bg}; - } - - tooltip { - background: ${main_bg}; - color: ${main_fg}; - border-radius: 7px; - border-width: 0px; - } - - #workspaces button { - box-shadow: none; - text-shadow: none; - padding: 0px; - border-radius: 9px; - margin-top: 3px; - margin-bottom: 3px; - margin-left: 0px; - padding-left: 3px; - padding-right: 3px; - margin-right: 0px; - color: ${main_fg}; - animation: ws_normal 20s ease-in-out 1; - } - - #workspaces button.active { - background: ${wb_act_bg}; - color: ${wb_act_fg}; - margin-left: 3px; - padding-left: 12px; - padding-right: 12px; - margin-right: 3px; - animation: ws_active 20s ease-in-out 1; - transition: all 0.4s cubic-bezier(.55,-0.68,.48,1.682); - } - - #workspaces button:hover { - background: ${wb_hvr_bg}; - color: ${wb_hvr_fg}; - animation: ws_hover 20s ease-in-out 1; - transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682); - } - - #taskbar button { - box-shadow: none; - text-shadow: none; - padding: 0px; - border-radius: 9px; - margin-top: 3px; - margin-bottom: 3px; - margin-left: 0px; - padding-left: 3px; - padding-right: 3px; - margin-right: 0px; - color: @wb-color; - animation: tb_normal 20s ease-in-out 1; - } - - #taskbar button.active { - background: ${wb_act_bg}; - color: @wb-act-color; - margin-left: 3px; - padding-left: 12px; - padding-right: 12px; - margin-right: 3px; - animation: tb_active 20s ease-in-out 1; - transition: all 0.4s cubic-bezier(.55,-0.68,.48,1.682); - } - - #taskbar button:hover { - background: ${wb_hvr_bg}; - color: @wb-hvr-color; - animation: tb_hover 20s ease-in-out 1; - transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682); - } - - #backlight, - #battery, - #bluetooth, - #custom-cliphist, - #clock, - #custom-cpuinfo, - #cpu, - #custom-gpuinfo, - #idle_inhibitor, - #language, - #memory, - #custom-mode, - #mpris, - #network, - #custom-power, - #pulseaudio, - #custom-spotify, - #taskbar, - #tray, - #custom-updates, - #custom-wallchange, - #custom-wbar, - #window, - #workspaces, - #custom-l_end, - #custom-r_end, - #custom-sl_end, - #custom-sr_end, - #custom-rl_end, - #custom-rr_end { - color: ${main_fg}; - background: ${main_bg}; - opacity: 1; - margin: 4px 0px 4px 0px; - padding-left: 4px; - padding-right: 4px; - } - - #workspaces, - #taskbar { - padding: 0px; - } - - #custom-r_end { - border-radius: 0px 21px 21px 0px; - margin-right: 9px; - padding-right: 3px; - } - - #custom-l_end { - border-radius: 21px 0px 0px 21px; - margin-left: 9px; - padding-left: 3px; - } - - #custom-sr_end { - border-radius: 0px; - margin-right: 9px; - padding-right: 3px; - } - - #custom-sl_end { - border-radius: 0px; - margin-left: 9px; - padding-left: 3px; - } - - #custom-rr_end { - border-radius: 0px 7px 7px 0px; - margin-right: 9px; - padding-right: 3px; - } - - #custom-rl_end { - border-radius: 7px 0px 0px 7px; - margin-left: 9px; - padding-left: 3px; - } - ''; - }; - }; -} diff --git a/modules/home/firefox/default.nix b/modules/home/firefox/default.nix deleted file mode 100644 index 3f90e82..0000000 --- a/modules/home/firefox/default.nix +++ /dev/null @@ -1,73 +0,0 @@ -{ - pkgs, - username, - ... -}: { - home.file.".mozilla/firefox/${username}/chrome".source = pkgs.firefox-mod-blur; - - programs.firefox = { - enable = true; - - package = pkgs.firefox.override { - extraPolicies = { - CaptivePortal = false; - DisableFirefoxStudies = true; - DisablePocket = true; - DisableTelemetry = true; - DisableFirefoxAccounts = false; - NoDefaultBookmarks = true; - OfferToSaveLogins = false; - OfferToSaveLoginsDefault = false; - PasswordManagerEnabled = false; - FirefoxHome = { - Search = true; - Pocket = false; - Snippets = false; - TopSites = false; - Highlights = false; - }; - UserMessaging = { - ExtensionRecommendations = false; - SkipOnboarding = true; - }; - }; - }; - - profiles = { - ${username} = { - id = 0; - name = "tux"; - search = { - force = true; - default = "Google"; - }; - settings = { - "general.smoothScroll" = true; - "extensions.activeThemeID" = "firefox-compact-dark@mozilla.org"; - "layout.css.prefers-color-scheme.content-override" = 0; - "browser.compactmode.show" = true; - "browser.tabs.firefox-view" = false; - "browser.bookmarks.addedImportButton" = false; - "extensions.pocket.enabled" = false; - "browser.fullscreen.autohide" = false; - }; - extraConfig = '' - user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true); - user_pref("full-screen-api.ignore-widgets", true); - user_pref("media.ffmpeg.vaapi.enabled", true); - user_pref("media.rdd-vpx.enabled", true); - ''; - - extensions = with pkgs.nur.repos.rycee.firefox-addons; [ - ublock-origin - facebook-container - metamask - darkreader - bitwarden - wappalyzer - clearurls - ]; - }; - }; - }; -} diff --git a/modules/home/floorp/default.nix b/modules/home/floorp/default.nix deleted file mode 100644 index e365cad..0000000 --- a/modules/home/floorp/default.nix +++ /dev/null @@ -1,46 +0,0 @@ -{ - username, - pkgs, - ... -}: { - programs.floorp = { - enable = true; - - profiles = { - ${username} = { - id = 0; - name = "${username}"; - search = { - force = true; - default = "Google"; - }; - settings = { - "general.smoothScroll" = true; - "extensions.activeThemeID" = "firefox-compact-dark@mozilla.org"; - "layout.css.prefers-color-scheme.content-override" = 0; - "browser.compactmode.show" = true; - "browser.tabs.firefox-view" = false; - "browser.bookmarks.addedImportButton" = false; - "extensions.pocket.enabled" = false; - "browser.fullscreen.autohide" = false; - }; - extraConfig = '' - user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true); - user_pref("full-screen-api.ignore-widgets", true); - user_pref("media.ffmpeg.vaapi.enabled", true); - user_pref("media.rdd-vpx.enabled", true); - ''; - - extensions = with pkgs.nur.repos.rycee.firefox-addons; [ - ublock-origin - facebook-container - metamask - darkreader - bitwarden - wappalyzer - clearurls - ]; - }; - }; - }; -} diff --git a/modules/home/ghostty/default.nix b/modules/home/ghostty/default.nix deleted file mode 100644 index c0e54cb..0000000 --- a/modules/home/ghostty/default.nix +++ /dev/null @@ -1,39 +0,0 @@ -{pkgs, ...}: { - home.file = { - ".config/ghostty/config" = { - text = '' - gtk-titlebar = false - window-padding-x = 10 - window-padding-y = 10 - background-opacity = 0.9 - font-size = 14 - - palette = 0=#252b37 - palette = 1=#d0679d - palette = 2=#5de4c7 - palette = 3=#fffac2 - palette = 4=#89ddff - palette = 5=#fae4fc - palette = 6=#add7ff - palette = 7=#ffffff - palette = 8=#a6accd - palette = 9=#d0679d - palette = 10=#5de4c7 - palette = 11=#fffac2 - palette = 12=#add7ff - palette = 13=#89ddff - palette = 14=#fcc5e9 - palette = 15=#ffffff - background = #0f0f0f - foreground = #a6accd - cursor-color = #f2eacf - selection-background = #1a1a1a - selection-foreground = #f1f1f1 - ''; - }; - }; - - home.packages = with pkgs; [ - ghostty - ]; -} diff --git a/modules/home/git/default.nix b/modules/home/git/default.nix deleted file mode 100755 index 5177c64..0000000 --- a/modules/home/git/default.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ - email, - username, - ... -}: { - programs.git = { - enable = true; - userName = "${username}"; - userEmail = "${email}"; - signing = { - key = "~/.ssh/id_ed25519.pub"; - signByDefault = true; - }; - extraConfig = { - init.defaultBranch = "main"; - commit.gpgSign = true; - gpg.format = "ssh"; - }; - }; -} diff --git a/modules/home/helix/default.nix b/modules/home/helix/default.nix deleted file mode 100644 index 28268f8..0000000 --- a/modules/home/helix/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{pkgs, ...}: { - programs.helix = { - enable = true; - settings = { - theme = "gruvbox"; - editor = { - line-number = "relative"; - cursorline = true; - color-modes = true; - bufferline = "multiple"; - - "cursor-shape" = { - insert = "bar"; - normal = "block"; - select = "underline"; - }; - }; - }; - languages = { - language = [ - { - name = "nix"; - auto-format = true; - } - ]; - - language-server = { - nil = { - command = "${pkgs.nil}/bin/nil"; - config.nil.formatting = { - command = "${pkgs.alejandra}/bin/alejandra"; - }; - }; - }; - }; - }; -} diff --git a/modules/home/kdeconnect/default.nix b/modules/home/kdeconnect/default.nix deleted file mode 100644 index cff771e..0000000 --- a/modules/home/kdeconnect/default.nix +++ /dev/null @@ -1,6 +0,0 @@ -{...}: { - services.kdeconnect = { - enable = true; - indicator = true; - }; -} diff --git a/modules/home/librewolf/default.nix b/modules/home/librewolf/default.nix deleted file mode 100644 index 299adaf..0000000 --- a/modules/home/librewolf/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{...}: { - programs.librewolf = { - enable = true; - }; -} diff --git a/modules/home/mopidy/default.nix b/modules/home/mopidy/default.nix deleted file mode 100644 index a260210..0000000 --- a/modules/home/mopidy/default.nix +++ /dev/null @@ -1,39 +0,0 @@ -{pkgs, ...}: { - programs.ncmpcpp = { - enable = true; - package = pkgs.ncmpcpp.override { - visualizerSupport = true; - clockSupport = true; - }; - mpdMusicDir = "~/Music/"; - - settings = { - mpd_host = "127.0.0.1"; - mpd_port = 6600; - mpd_connection_timeout = 20; - visualizer_data_source = "localhost:5555"; - visualizer_fps = 60; - visualizer_output_name = "feed"; - visualizer_in_stereo = "yes"; - visualizer_type = "spectrum"; - visualizer_look = "▄▍"; - visualizer_spectrum_smooth_look = "yes"; - visualizer_sync_interval = 0; - song_status_format = "$b$7♫ $2%a $4⟫$3⟫ $8%t $4⟫$3⟫ $5%b "; - header_visibility = "no"; - color1 = "white"; - color2 = "green"; - }; - }; - - services.mopidy = { - enable = true; - - extensionPackages = with pkgs; [ - mopidy-mpd - mopidy-spotify - mopidy-soundcloud - mopidy-iris - ]; - }; -} diff --git a/modules/home/nvim/default.nix b/modules/home/nvim/default.nix deleted file mode 100755 index c60e08e..0000000 --- a/modules/home/nvim/default.nix +++ /dev/null @@ -1,40 +0,0 @@ -{pkgs, ...}: { - home.file = { - ".config/nvim" = { - recursive = true; - source = "${pkgs.tux-nvim-config}"; - }; - }; - - programs = { - neovim = { - enable = true; - defaultEditor = true; - vimAlias = true; - withPython3 = true; - withNodeJs = true; - }; - }; - - home = { - packages = with pkgs; [ - gcc - neovide - - # nix - nil # Language Server - statix # Lints and suggestions - deadnix # Find and remove unused - alejandra # Code Formatter - - # lua - luarocks - - # ts - typescript - - gdu - ripgrep - ]; - }; -} diff --git a/modules/home/picom/default.nix b/modules/home/picom/default.nix deleted file mode 100644 index d3a298f..0000000 --- a/modules/home/picom/default.nix +++ /dev/null @@ -1,64 +0,0 @@ -{pkgs, ...}: { - services.picom = { - enable = true; - package = pkgs.picom-next; - - backend = "glx"; - vSync = true; - - fade = true; - fadeDelta = 10; - fadeSteps = [0.05 0.05]; - fadeExclude = [ - "window_type *= 'menu'" - ]; - - activeOpacity = 1; - inactiveOpacity = 1; - opacityRules = [ - "90:class_g = 'rofi'" - "90:class_g = 'thunar'" - "90:class_g = 'spotify'" - "90:class_g = 'discord'" - "90:class_g = 'code'" - "90:class_g = 'org.wezfurlong.wezterm'" - "90:class_g = 'wezterm-floating'" - ]; - - settings = { - glx-no-stencil = true; - glx-copy-from-font = false; - use-damage = false; - - frame-opacity = 1; - blur-background = true; - blur-method = "dual_kawase"; - blur-strength = 10; - - corner-radius = 8; - - rounded-corners-exclude = [ - "window_type = 'dock'" - ]; - - # pijulius specifics - animations = true; - animation-stiffness = 500; - animation-window-mass = 1.0; - animation-dampening = 26; - animation-delta = 10; - animation-force_steps = false; - animation-clamping = true; - - animation-for-open-window = "slide-up"; - animation-for-menu-window = "slide-down"; - animation-for-transient-window = "slide-down"; - animation-for-unmap-window = "slide-up"; - - animation-for-next-tag = "slide-right"; - animation-for-prev-tag = "slide-left"; - enable-fading-next-tag = true; - enable-fading-prev-tag = true; - }; - }; -} diff --git a/modules/home/shell/default.nix b/modules/home/shell/default.nix deleted file mode 100755 index 410cfd5..0000000 --- a/modules/home/shell/default.nix +++ /dev/null @@ -1,79 +0,0 @@ -{pkgs, ...}: { - programs = { - bat.enable = true; - zsh = { - enable = true; - shellAliases = { - ls = "lsd"; - }; - syntaxHighlighting.enable = true; - autosuggestion.enable = true; - initExtra = '' - nitch - export WINIT_X11_SCALE_FACTOR=1 - bindkey "^A" vi-beginning-of-line - bindkey "^E" vi-end-of-line - PATH=$PATH:~/.cargo/bin:~/.local/bin - ''; - }; - lazygit.enable = true; - zoxide = { - enable = true; - options = ["--cmd cd"]; - }; - ripgrep.enable = true; - btop = { - enable = true; - settings = { - theme_background = false; - update_ms = 1000; - presets = "cpu:0:default mem:0:default net:0:default"; - }; - }; - go.enable = true; - yazi = { - enable = true; - enableZshIntegration = true; - }; - }; - - home.packages = with pkgs; [ - service-wrapper - lsd - nitch - ranger - wget - portal - bore-cli - zip - unzip - pciutils - gnumake - nvtopPackages.full - zellij - nix-output-monitor - fzf - duf - jq - atac - termshark - solc - dig - - python312 - python312Packages.pipx - nodejs - nodePackages.pnpm - nodePackages.yarn - rustup - bun - nixpkgs-fmt - - hunspell - hunspellDicts.en_US - air - templ - ffmpeg - deploy-rs - ]; -} diff --git a/modules/home/starship/default.nix b/modules/home/starship/default.nix deleted file mode 100755 index 6b4602b..0000000 --- a/modules/home/starship/default.nix +++ /dev/null @@ -1,48 +0,0 @@ -{...}: { - programs.starship = { - enable = true; - settings = { - format = ''$os$hostname$directory$rust$golang$solidity$nodejs(bold blue)$git_branch$git_status[❯](bold yellow)[❯](bold purple)[❯](bold blue) ''; - scan_timeout = 60; - add_newline = false; - line_break.disabled = true; - - os = { - format = "[$symbol  ]($style)"; - style = "bold green"; - disabled = false; - symbols.NixOS = "󰊠"; - symbols.Linux = "󰊠"; - }; - directory = { - format = "[$path]($style)[$read_only ]($read_only_style)"; - read_only = " 󰌾"; - style = "bold blue"; - }; - git_branch.format = "[$symbol$branch]($style) "; - hostname = { - ssh_only = false; - format = "[$ssh_symbol$hostname]($style) "; - style = "bold green"; - ssh_symbol = "󰇧 "; - disabled = false; - }; - rust = { - format = "[$symbol]($style)"; - symbol = " "; - }; - golang = { - format = "[$symbol]($style)"; - symbol = " "; - }; - solidity = { - format = "[$symbol]($style)"; - symbol = "󰡪 "; - }; - nodejs = { - format = "[$symbol]($style)"; - symbol = "󰎙 "; - }; - }; - }; -} diff --git a/modules/home/thunderbird/default.nix b/modules/home/thunderbird/default.nix deleted file mode 100644 index 902ca16..0000000 --- a/modules/home/thunderbird/default.nix +++ /dev/null @@ -1,9 +0,0 @@ -{username, ...}: { - programs.thunderbird = { - enable = true; - - profiles."${username}" = { - isDefault = true; - }; - }; -} diff --git a/modules/home/tmux/default.nix b/modules/home/tmux/default.nix deleted file mode 100644 index fe4aa26..0000000 --- a/modules/home/tmux/default.nix +++ /dev/null @@ -1,38 +0,0 @@ -{...}: { - programs.tmux = { - enable = true; - extraConfig = " - - set-option -sa terminal-overrides \",xterm*:Tc\" - set -g mouse on - set-option -g status-position top - set-option -g allow-rename off - unbind r - bind r source-file ~/.config/tmux/tmux.conf - - # remap prefix from C-b to C-Space - # unbind C-b - # set -g prefix C-Space - # bind C-Space send-prefix - - # split panes using | and - - unbind '\"' - unbind % - bind | split-window -h - bind - split-window -v - - # Start windows and panes at 1, not 0 - set -g base-index 1 - set -g pane-base-index 1 - set-window-option -g pane-base-index 1 - set-option -g renumber-windows on - - # switch panes using Alt-arrow without prefix - bind -n M-Left select-pane -L - bind -n M-Right select-pane -R - bind -n M-Up select-pane -U - bind -n M-Down select-pane -D - - "; - }; -} diff --git a/modules/home/vs-code/default.nix b/modules/home/vs-code/default.nix deleted file mode 100644 index 811ba1e..0000000 --- a/modules/home/vs-code/default.nix +++ /dev/null @@ -1,74 +0,0 @@ -{pkgs, ...}: { - programs.vscode = { - enable = true; - package = pkgs.vscodium; - - keybindings = [ - { - "key" = "f7"; - "command" = "-editor.action.wordHighlight.next"; - "when" = "editorTextFocus && hasWordHighlights"; - } - { - "key" = "f7"; - "command" = "-editor.action.accessibleDiffViewer.next"; - "when" = "isInDiffEditor"; - } - { - "key" = "f7"; - "command" = "workbench.action.terminal.toggleTerminal"; - "when" = "terminal.active"; - } - { - "key" = "ctrl+`"; - "command" = "-workbench.action.terminal.toggleTerminal"; - "when" = "terminal.active"; - } - ]; - - userSettings = { - "window.zoomLevel" = 2; - "window.menuBarVisibility" = "toggle"; - - "workbench.colorTheme" = "Poimandres Alternate"; - "workbench.startupEditor" = "none"; - - "editor.fontFamily" = "FiraCode NF, FiraCode Nerd Font"; - "editor.fontLigatures" = true; - "editor.cursorBlinking" = "smooth"; - "editor.minimap.enabled" = false; - - "terminal.integrated.fontFamily" = "FiraCode NF, FiraCode Nerd Font , FiraCode"; - }; - - extensions = - (with pkgs.vscode-extensions; [ - wakatime.vscode-wakatime - ms-dotnettools.csharp - naumovs.color-highlight - ms-vscode-remote.remote-containers - ms-azuretools.vscode-docker - mikestead.dotenv - golang.go - wix.vscode-import-cost - sumneko.lua - yzhang.markdown-all-in-one - jnoortheen.nix-ide - esbenp.prettier-vscode - prisma.prisma - ms-python.python - ms-vscode-remote.remote-ssh - humao.rest-client - bradlc.vscode-tailwindcss - gruntfuggly.todo-tree - ]) - ++ (with pkgs.vscode-marketplace; [ - danielpriestley.poimandres-alternate - pufferbommy.pretty-poimandres - yoavbls.pretty-ts-errors - formulahendry.auto-rename-tag - chakrounanas.turbo-console-log - streetsidesoftware.code-spell-checker - ]); - }; -} diff --git a/modules/home/wezterm/default.nix b/modules/home/wezterm/default.nix deleted file mode 100644 index f907b1c..0000000 --- a/modules/home/wezterm/default.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ - inputs, - pkgs, - ... -}: { - programs.wezterm = { - enable = true; - package = inputs.wezterm-flake.packages."${pkgs.system}".default; - enableZshIntegration = false; - - extraConfig = '' - local wezterm = require 'wezterm' - local config = {} - - config.window_close_confirmation = 'NeverPrompt' - config.color_scheme = 'Poimandres' - config.colors = { - background = "#0f0f0f" - } - config.enable_tab_bar = false - config.font = wezterm.font_with_fallback { - 'JetBrainsMono Nerd Font', - } - config.font_size = 14.0 - config.window_background_opacity = 1 - config.audible_bell = "Disabled" - - return config - ''; - }; -} diff --git a/modules/nixos/desktop/awesome/default.nix b/modules/nixos/desktop/awesome/default.nix deleted file mode 100755 index b81a7a0..0000000 --- a/modules/nixos/desktop/awesome/default.nix +++ /dev/null @@ -1,69 +0,0 @@ -{ - lib, - pkgs, - ... -}: { - services = { - displayManager = { - defaultSession = "none+awesome"; - sddm = { - package = pkgs.libsForQt5.sddm; - extraPackages = with pkgs; [libsForQt5.qt5.qtgraphicaleffects]; - enable = true; - theme = "sugar-dark"; - }; - }; - - xserver = { - enable = true; - windowManager.awesome = { - enable = true; - luaModules = lib.attrValues { - inherit - (pkgs.luajitPackages) - lgi - ldbus - luadbi-mysql - luaposix - dkjson - ; - }; - }; - }; - - acpid.enable = true; - picom.enable = true; - upower.enable = true; - blueman.enable = true; - }; - - programs.dconf.enable = true; - - environment.systemPackages = with pkgs; [ - luajit - acpi - linuxKernel.packages.linux_zen.acpi_call - lxappearance - inotify-tools - polkit_gnome - xdotool - xclip - xorg.xbacklight - stable.gpick - alsa-utils - pavucontrol - brightnessctl - libnotify - feh - maim - mpdris2 - python311Packages.mutagen - xdg-utils - playerctl - pulsemixer - procps - sct - slop - sddm-sugar-dark - ]; -} diff --git a/modules/nixos/desktop/default.nix b/modules/nixos/desktop/default.nix deleted file mode 100644 index fbfa0c8..0000000 --- a/modules/nixos/desktop/default.nix +++ /dev/null @@ -1,14 +0,0 @@ -{...}: { - xdg.mime = { - enable = true; - defaultApplications = { - "application/pdf" = ["firefox.desktop"]; - "default-web-browser" = ["firefox.desktop"]; - "text/html" = ["firefox.desktop"]; - "x-scheme-handler/http" = ["firefox.desktop"]; - "x-scheme-handler/https" = ["firefox.desktop"]; - "x-scheme-handler/about" = ["firefox.desktop"]; - "x-scheme-handler/unknown" = ["firefox.desktop"]; - }; - }; -} diff --git a/modules/nixos/desktop/hyprland/default.nix b/modules/nixos/desktop/hyprland/default.nix deleted file mode 100644 index 5e80000..0000000 --- a/modules/nixos/desktop/hyprland/default.nix +++ /dev/null @@ -1,3 +0,0 @@ -{...}: { - programs.hyprland.enable = true; -} diff --git a/modules/nixos/fail2ban.nix b/modules/nixos/fail2ban.nix deleted file mode 100644 index 802e938..0000000 --- a/modules/nixos/fail2ban.nix +++ /dev/null @@ -1,32 +0,0 @@ -{config, ...}: let - isFirewallEnabled = config.networking.firewall.enable; -in { - services.fail2ban = { - enable = isFirewallEnabled; - maxretry = 5; - banaction = "iptables-multiport[blocktype=DROP]"; - ignoreIP = [ - "127.0.0.0/8" - "10.0.0.0/8" - "192.168.0.0/16" - ]; - bantime = "24h"; - - bantime-increment = { - enable = true; - rndtime = "12m"; - overalljails = true; - multipliers = "4 8 16 32 64 128 256 512 1024 2048"; - maxtime = "192h"; - }; - - jails = { - sshd.settings = { - enabled = true; - port = toString config.services.openssh.ports; - mode = "aggressive"; - filter = "sshd"; - }; - }; - }; -} diff --git a/modules/nixos/networking/ssh.nix b/modules/nixos/networking/ssh.nix deleted file mode 100644 index 4914000..0000000 --- a/modules/nixos/networking/ssh.nix +++ /dev/null @@ -1,69 +0,0 @@ -{ - config, - lib, - ... -}: -with lib; let - cfg = config.tux.services.openssh; - - # Sops needs acess to the keys before the persist dirs are even mounted; so - # just persisting the keys won't work, we must point at /persist - hasOptinPersistence = config.environment.persistence."/persist".enable; -in { - options.tux.services.openssh = { - enable = mkEnableOption "Enable OpenSSH server"; - - ports = mkOption { - type = types.listOf types.port; - default = [22]; - description = '' - Specifies on which ports the SSH daemon listens. - ''; - }; - }; - - config = mkIf cfg.enable { - services.openssh = { - enable = true; - startWhenNeeded = true; - allowSFTP = true; - ports = cfg.ports; - - settings = { - PermitRootLogin = "no"; - PasswordAuthentication = false; - KbdInteractiveAuthentication = false; - AuthenticationMethods = "publickey"; - PubkeyAuthentication = "yes"; - ChallengeResponseAuthentication = "no"; - UsePAM = false; - UseDns = false; - X11Forwarding = false; - KexAlgorithms = [ - "curve25519-sha256" - "curve25519-sha256@libssh.org" - "diffie-hellman-group16-sha512" - "diffie-hellman-group18-sha512" - "sntrup761x25519-sha512@openssh.com" - "diffie-hellman-group-exchange-sha256" - "mlkem768x25519-sha256" - "sntrup761x25519-sha512" - ]; - Macs = [ - "hmac-sha2-512-etm@openssh.com" - "hmac-sha2-256-etm@openssh.com" - "umac-128-etm@openssh.com" - ]; - ClientAliveCountMax = 5; - ClientAliveInterval = 60; - }; - - hostKeys = [ - { - path = "${lib.optionalString hasOptinPersistence "/persist"}/etc/ssh/ssh_host_ed25519_key"; - type = "ed25519"; - } - ]; - }; - }; -} diff --git a/modules/nixos/selfhosted/adguard.nix b/modules/nixos/selfhosted/adguard.nix deleted file mode 100644 index b2a489c..0000000 --- a/modules/nixos/selfhosted/adguard.nix +++ /dev/null @@ -1,8 +0,0 @@ -{...}: { - services = { - adguardhome = { - enable = true; - openFirewall = true; - }; - }; -} diff --git a/modules/nixos/selfhosted/containers/cs2.nix b/modules/nixos/selfhosted/containers/cs2.nix deleted file mode 100644 index da5cb8e..0000000 --- a/modules/nixos/selfhosted/containers/cs2.nix +++ /dev/null @@ -1,61 +0,0 @@ -{config, ...}: { - virtualisation.oci-containers.containers.cs2-server = { - image = "joedwards32/cs2"; - environmentFiles = [ - config.sops.secrets."cs2_secrets/SRCDS_TOKEN".path - config.sops.secrets."cs2_secrets/CS2_RCONPW".path - config.sops.secrets."cs2_secrets/CS2_PW".path - ]; - - environment = { - # Server configuration - STEAMAPPVALIDATE = "0"; - CS2_SERVERNAME = "tux's CS-2 Server"; - CS2_CHEATS = "0"; - CS2_PORT = "27015"; - CS2_SERVER_HIBERNATE = "1"; - CS2_RCON_PORT = ""; - CS2_LAN = "0"; - CS2_MAXPLAYERS = "10"; - CS2_ADDITIONAL_ARGS = ""; - CS2_CFG_URL = ""; - # Game modes - CS2_GAMEALIAS = "competitive"; - CS2_GAMETYPE = "0"; - CS2_GAMEMODE = "1"; - CS2_MAPGROUP = "mg_active"; - CS2_STARTMAP = "de_mirage"; - # Workshop Maps - CS2_HOST_WORKSHOP_COLLECTION = ""; - CS2_HOST_WORKSHOP_MAP = ""; - # Bots - CS2_BOT_DIFFICULTY = "3"; - CS2_BOT_QUOTA = ""; - CS2_BOT_QUOTA_MODE = ""; - # TV - TV_AUTORECORD = "0"; - TV_ENABLE = "0"; - TV_PORT = "27020"; - TV_PW = "changeme"; - TV_RELAY_PW = "changeme"; - TV_MAXRATE = "0"; - TV_DELAY = "0"; - # Logs - CS2_LOG = "on"; - CS2_LOG_MONEY = "0"; - CS2_LOG_DETAIL = "0"; - CS2_LOG_ITEMS = "0"; - }; - volumes = [ - "cs2:/home/steam/cs2-dedicated" - ]; - ports = [ - "27015:27015/tcp" - "27015:27015/udp" - "27020:27020/udp" - ]; - extraOptions = [ - "--interactive" - ]; - }; -} diff --git a/modules/nixos/selfhosted/cyber-tux.nix b/modules/nixos/selfhosted/cyber-tux.nix deleted file mode 100644 index 5f3ebc2..0000000 --- a/modules/nixos/selfhosted/cyber-tux.nix +++ /dev/null @@ -1,86 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: -with lib; let - cfg = config.tux.services.cyber-tux; -in { - options.tux.services.cyber-tux = { - enable = mkEnableOption "Enable CyberTux Discord bot"; - - user = mkOption { - type = types.str; - default = "cyber-tux"; - description = "User under which the CyberTux service runs."; - }; - - group = mkOption { - type = types.str; - default = "cyber-tux"; - description = "Group under which the CyberTux service runs."; - }; - - environmentFile = mkOption { - type = types.path; - description = "Environment file containing DISCORD_TOKEN"; - }; - }; - - config = mkIf cfg.enable { - systemd.services = { - cyber-tux = { - description = "A discord bot for my server"; - after = ["network.target"]; - wantedBy = ["multi-user.target"]; - - serviceConfig = { - Type = "simple"; - User = "cyber-tux"; - Group = "cyber-tux"; - EnvironmentFile = cfg.environmentFile; - ExecStart = getExe pkgs.cyber-tux; - Restart = "always"; - - LockPersonality = true; - MemoryDenyWriteExecute = true; - NoNewPrivileges = true; - PrivateDevices = true; - PrivateIPC = true; - PrivateTmp = true; - PrivateUsers = true; - ProtectClock = true; - ProtectControlGroups = true; - ProtectHome = true; - ProtectHostname = true; - ProtectKernelLogs = true; - ProtectKernelModules = true; - ProtectKernelTunables = true; - ProtectProc = "invisible"; - ProtectSystem = "strict"; - RestrictNamespaces = "uts ipc pid user cgroup"; - RestrictRealtime = true; - RestrictSUIDSGID = true; - SystemCallArchitectures = "native"; - SystemCallFilter = ["@system-service"]; - UMask = "0077"; - }; - }; - }; - # Ensure the user and group exist - users.users = mkIf (cfg.user == "cyber-tux") { - ${cfg.user} = { - isSystemUser = true; - group = cfg.group; - description = "CyberTux service user"; - home = "/var/lib/cyber-tux"; - createHome = true; - }; - }; - - users.groups = mkIf (cfg.group == "cyber-tux") { - ${cfg.group} = {}; - }; - }; -} diff --git a/modules/nixos/selfhosted/gitea.nix b/modules/nixos/selfhosted/gitea.nix deleted file mode 100644 index 40c3e52..0000000 --- a/modules/nixos/selfhosted/gitea.nix +++ /dev/null @@ -1,29 +0,0 @@ -{lib, ...}: { - services = { - gitea = { - enable = true; - settings = { - service.DISABLE_REGISTRATION = true; - server = { - DOMAIN = "git.tux.rs"; - ROOT_URL = "https://git.tux.rs"; - }; - }; - }; - - nginx = { - enable = lib.mkForce true; - virtualHosts = { - "git.tux.rs" = { - forceSSL = true; - useACMEHost = "tux.rs"; - locations = { - "/" = { - proxyPass = "http://localhost:3000"; - }; - }; - }; - }; - }; - }; -} diff --git a/modules/nixos/selfhosted/headscale.nix b/modules/nixos/selfhosted/headscale.nix deleted file mode 100644 index 154c3e0..0000000 --- a/modules/nixos/selfhosted/headscale.nix +++ /dev/null @@ -1,65 +0,0 @@ -{ - config, - pkgs, - lib, - email, - ... -}: { - security = { - acme = { - defaults.email = "${email}"; - acceptTerms = true; - }; - }; - - services = { - headscale = { - enable = true; - port = 8080; - address = "0.0.0.0"; - settings = { - dns = { - base_domain = "hs.tux.rs"; - search_domains = ["tux.rs"]; - magic_dns = true; - nameservers.global = [ - "9.9.9.9" - ]; - }; - # server_url = "https://hs.tux.rs:443"; - metrics_listen_addr = "0.0.0.0:8095"; - logtail = { - enabled = false; - }; - log = { - level = "warn"; - }; - ip_prefixes = [ - "100.64.0.0/10" - "fd7a:115c:a1e0::/48" - ]; - }; - }; - - nginx = { - enable = lib.mkForce true; - virtualHosts = { - "hs.tux.rs" = { - forceSSL = true; - useACMEHost = "tux.rs"; - locations = { - "/" = { - proxyPass = "http://localhost:${toString config.services.headscale.port}"; - proxyWebsockets = true; - }; - "/metrics" = { - proxyPass = "http://${config.services.headscale.settings.metrics_listen_addr}/metrics"; - }; - }; - }; - }; - }; - }; - - environment.systemPackages = with pkgs; [headscale]; -} diff --git a/modules/nixos/selfhosted/kasmweb.nix b/modules/nixos/selfhosted/kasmweb.nix deleted file mode 100644 index a756a25..0000000 --- a/modules/nixos/selfhosted/kasmweb.nix +++ /dev/null @@ -1,24 +0,0 @@ -{lib, ...}: { - services = { - kasmweb = { - enable = true; - listenPort = 8843; - }; - - nginx = { - enable = lib.mkForce true; - virtualHosts = { - "kasm.tux.rs" = { - forceSSL = true; - useACMEHost = "tux.rs"; - locations = { - "/" = { - proxyPass = "https://127.0.0.1:8843"; - proxyWebsockets = true; - }; - }; - }; - }; - }; - }; -} diff --git a/modules/nixos/selfhosted/monitoring/grafana.nix b/modules/nixos/selfhosted/monitoring/grafana.nix deleted file mode 100644 index fc18920..0000000 --- a/modules/nixos/selfhosted/monitoring/grafana.nix +++ /dev/null @@ -1,45 +0,0 @@ -{ - lib, - username, - email, - ... -}: { - services = { - grafana = { - enable = true; - settings = { - server.http_port = 8888; - security = { - admin_user = "${username}"; - admin_email = "${email}"; - }; - }; - }; - - nginx = { - enable = lib.mkForce true; - virtualHosts = { - "grafana.tux.rs" = { - forceSSL = true; - useACMEHost = "tux.rs"; - locations = { - "/" = { - proxyPass = "http://localhost:8888"; - proxyWebsockets = true; - }; - - "/api/live/" = { - proxyPass = "http://localhost:8888"; - extraConfig = '' - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection $connection_upgrade; - proxy_set_header Host $host; - ''; - }; - }; - }; - }; - }; - }; -} diff --git a/modules/nixos/selfhosted/monitoring/loki.nix b/modules/nixos/selfhosted/monitoring/loki.nix deleted file mode 100644 index eadac07..0000000 --- a/modules/nixos/selfhosted/monitoring/loki.nix +++ /dev/null @@ -1,77 +0,0 @@ -{lib, ...}: { - services = { - loki = { - enable = true; - configuration = { - auth_enabled = false; - server = { - http_listen_port = 3100; - }; - common = { - ring = { - instance_addr = "127.0.0.1"; - kvstore = { - store = "inmemory"; - }; - }; - replication_factor = 1; - path_prefix = "/tmp/loki"; - }; - schema_config = { - configs = [ - { - from = "2020-05-15"; - store = "tsdb"; - object_store = "filesystem"; - schema = "v13"; - index = { - prefix = "index_"; - period = "24h"; - }; - } - ]; - }; - storage_config = { - filesystem = { - directory = "/tmp/loki/chunks"; - }; - }; - }; - }; - - nginx = { - enable = lib.mkForce true; - virtualHosts = { - "loki.tux.rs" = { - forceSSL = true; - useACMEHost = "tux.rs"; - locations = { - "/" = { - proxyPass = "http://localhost:3100"; - extraConfig = '' - proxy_http_version 1.1; - proxy_read_timeout 1800s; - proxy_connect_timeout 1600s; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection $connection_upgrade; - proxy_set_header Connection "Keep-Alive"; - proxy_set_header Proxy-Connection "Keep-Alive"; - proxy_redirect off; - ''; - }; - - "/ready" = { - proxyPass = "http://localhost:3100"; - extraConfig = '' - proxy_http_version 1.1; - proxy_set_header Connection "Keep-Alive"; - proxy_set_header Proxy-Connection "Keep-Alive"; - proxy_redirect off; - ''; - }; - }; - }; - }; - }; - }; -} diff --git a/modules/nixos/selfhosted/monitoring/promtail.nix b/modules/nixos/selfhosted/monitoring/promtail.nix deleted file mode 100644 index 4a31bbe..0000000 --- a/modules/nixos/selfhosted/monitoring/promtail.nix +++ /dev/null @@ -1,55 +0,0 @@ -{lib, ...}: { - services = { - promtail = { - enable = true; - configuration = { - server = { - http_listen_port = 9080; - grpc_listen_port = 0; - }; - positions = { - filename = "/var/lib/promtail/positions.yaml"; - }; - clients = [ - { - url = "https://loki.tux.rs/loki/api/v1/push"; - } - ]; - scrape_configs = [ - { - job_name = "journal"; - journal = { - max_age = "12h"; - labels = { - job = "systemd-journal"; - }; - }; - relabel_configs = [ - { - source_labels = [ - "__journal__systemd_unit" - ]; - target_label = "unit"; - } - ]; - } - ]; - }; - }; - - nginx = { - enable = lib.mkForce true; - virtualHosts = { - "promtail.tux.rs" = { - forceSSL = true; - useACMEHost = "tux.rs"; - locations = { - "/" = { - proxyPass = "http://localhost:9080"; - }; - }; - }; - }; - }; - }; -} diff --git a/modules/nixos/selfhosted/nextcloud.nix b/modules/nixos/selfhosted/nextcloud.nix deleted file mode 100644 index 4c011cb..0000000 --- a/modules/nixos/selfhosted/nextcloud.nix +++ /dev/null @@ -1,48 +0,0 @@ -{ - config, - pkgs, - lib, - username, - ... -}: { - services = { - nginx = { - enable = lib.mkForce true; - virtualHosts = { - "cloud.tux.rs" = { - forceSSL = true; - useACMEHost = "tux.rs"; - }; - }; - }; - - nextcloud = { - enable = true; - hostName = "cloud.tux.rs"; - package = pkgs.nextcloud30; - database.createLocally = true; - configureRedis = true; - maxUploadSize = "16G"; - https = true; - - autoUpdateApps.enable = true; - extraAppsEnable = true; - extraApps = with config.services.nextcloud.package.packages.apps; { - inherit mail spreed; - }; - - config = { - dbtype = "sqlite"; - adminuser = "${username}"; - adminpassFile = config.sops.secrets.nextcloud_password.path; - }; - - settings = { - overwriteProtocol = "https"; - default_phone_region = "IN"; - }; - }; - }; - - environment.systemPackages = with pkgs; [nextcloud30]; -} diff --git a/modules/nixos/selfhosted/ntfy-sh.nix b/modules/nixos/selfhosted/ntfy-sh.nix deleted file mode 100644 index fcb19e1..0000000 --- a/modules/nixos/selfhosted/ntfy-sh.nix +++ /dev/null @@ -1,28 +0,0 @@ -{lib, ...}: { - services = { - ntfy-sh = { - enable = true; - settings = { - listen-http = ":7070"; - base-url = "https://ntfy.tux.rs"; - behind-proxy = true; - }; - }; - - nginx = { - enable = lib.mkForce true; - virtualHosts = { - "ntfy.tux.rs" = { - forceSSL = true; - useACMEHost = "tux.rs"; - locations = { - "/" = { - proxyPass = "http://localhost:7070"; - proxyWebsockets = true; - }; - }; - }; - }; - }; - }; -} diff --git a/modules/nixos/selfhosted/open-webui.nix b/modules/nixos/selfhosted/open-webui.nix deleted file mode 100644 index 4ebbdd3..0000000 --- a/modules/nixos/selfhosted/open-webui.nix +++ /dev/null @@ -1,11 +0,0 @@ -{...}: { - services.open-webui = { - enable = true; - openFirewall = true; - host = "0.0.0.0"; - environment = { - ENABLE_OLLAMA_API = "True"; - OLLAMA_BASE_URL = "http://pc:11434"; - }; - }; -} diff --git a/modules/nixos/selfhosted/plausible.nix b/modules/nixos/selfhosted/plausible.nix deleted file mode 100644 index 1f62556..0000000 --- a/modules/nixos/selfhosted/plausible.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ - config, - lib, - ... -}: { - services = { - plausible = { - enable = true; - - server = { - baseUrl = "https://plausible.tux.rs"; - port = 2100; - disableRegistration = true; - secretKeybaseFile = config.sops.secrets.plausible_key.path; - }; - - database.postgres = { - dbname = "plausible"; - socket = "/run/postgresql"; - }; - }; - - nginx = { - enable = lib.mkForce true; - virtualHosts = { - "plausible.tux.rs" = { - forceSSL = true; - useACMEHost = "tux.rs"; - locations = { - "/" = { - proxyPass = "http://localhost:2100"; - proxyWebsockets = true; - }; - }; - }; - }; - }; - }; -} diff --git a/modules/nixos/selfhosted/postgresql.nix b/modules/nixos/selfhosted/postgresql.nix deleted file mode 100644 index f79085b..0000000 --- a/modules/nixos/selfhosted/postgresql.nix +++ /dev/null @@ -1,97 +0,0 @@ -{ - lib, - pkgs, - ... -}: { - services.postgresql = { - enable = true; - package = pkgs.postgresql_16; - - ensureDatabases = [ - "plausible" - "wakapi" - ]; - ensureUsers = [ - { - name = "postgres"; - ensureClauses = { - superuser = true; - login = true; - createrole = true; - createdb = true; - replication = true; - }; - } - { - name = "plausible"; - ensureDBOwnership = true; - } - { - name = "wakapi"; - ensureDBOwnership = true; - } - ]; - - checkConfig = true; - enableTCPIP = false; - - settings = { - max_connections = 100; - superuser_reserved_connections = 3; - - shared_buffers = "1024 MB"; - work_mem = "32 MB"; - maintenance_work_mem = "320 MB"; - huge_pages = "off"; - effective_cache_size = "3 GB"; - effective_io_concurrency = 100; - random_page_cost = 1.25; - - shared_preload_libraries = "pg_stat_statements"; - track_io_timing = "on"; - track_functions = "pl"; - - wal_level = "replica"; - max_wal_senders = 0; - synchronous_commit = "on"; - - checkpoint_timeout = "15 min"; - checkpoint_completion_target = 0.9; - max_wal_size = "1024 MB"; - min_wal_size = "512 MB"; - - wal_compression = "on"; - wal_buffers = -1; - wal_writer_delay = "200ms"; - wal_writer_flush_after = "1MB"; - - bgwriter_delay = "200ms"; - bgwriter_lru_maxpages = 100; - bgwriter_lru_multiplier = 2.0; - bgwriter_flush_after = 0; - - max_worker_processes = 3; - max_parallel_workers_per_gather = 2; - max_parallel_maintenance_workers = 2; - max_parallel_workers = 3; - parallel_leader_participation = "on"; - - enable_partitionwise_join = "on"; - enable_partitionwise_aggregate = "on"; - jit = "on"; - - jit_above_cost = 100000; - jit_inline_above_cost = 150000; - jit_optimize_above_cost = 500000; - - log_min_duration_statement = 100; - "auto_explain.log_min_duration" = 100; - - log_connections = true; - log_statement = "all"; - logging_collector = true; - log_disconnections = true; - log_destination = lib.mkForce "syslog"; - }; - }; -} diff --git a/modules/nixos/selfhosted/rustdesk-server.nix b/modules/nixos/selfhosted/rustdesk-server.nix deleted file mode 100644 index 4a85453..0000000 --- a/modules/nixos/selfhosted/rustdesk-server.nix +++ /dev/null @@ -1,9 +0,0 @@ -{...}: { - services = { - rustdesk-server = { - enable = true; - openFirewall = true; - signal.relayHosts = ["156.67.105.203"]; - }; - }; -} diff --git a/modules/nixos/selfhosted/searx.nix b/modules/nixos/selfhosted/searx.nix deleted file mode 100644 index aa89895..0000000 --- a/modules/nixos/selfhosted/searx.nix +++ /dev/null @@ -1,43 +0,0 @@ -{ - pkgs, - lib, - config, - ... -}: { - services = { - searx = { - enable = true; - package = pkgs.searxng; - environmentFile = config.sops.secrets.searx_secret_key.path; - settings = { - general = { - instance_name = "SearXNG"; - }; - server = { - bind_address = "0.0.0.0"; - port = 3415; - base_url = "https://sx.tux.rs"; - secret_key = "@secret_key@"; - }; - search = { - autocomplete = "google"; - }; - }; - }; - - nginx = { - enable = lib.mkForce true; - virtualHosts = { - "sx.tux.rs" = { - forceSSL = true; - useACMEHost = "tux.rs"; - locations = { - "/" = { - proxyPass = "http://localhost:3415"; - }; - }; - }; - }; - }; - }; -} diff --git a/modules/nixos/selfhosted/silver-bullet.nix b/modules/nixos/selfhosted/silver-bullet.nix deleted file mode 100644 index 89aae56..0000000 --- a/modules/nixos/selfhosted/silver-bullet.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ - lib, - config, - ... -}: { - services = { - silverbullet = { - enable = true; - listenPort = 9876; - envFile = config.sops.secrets.silver_bullet.path; - }; - - nginx = { - enable = lib.mkForce true; - virtualHosts = { - "notes.tux.rs" = { - forceSSL = true; - useACMEHost = "tux.rs"; - locations = { - "/" = { - proxyPass = "http://localhost:9876"; - }; - }; - }; - }; - }; - }; -} diff --git a/modules/nixos/selfhosted/tfolio.nix b/modules/nixos/selfhosted/tfolio.nix deleted file mode 100644 index 9669acf..0000000 --- a/modules/nixos/selfhosted/tfolio.nix +++ /dev/null @@ -1,102 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: -with lib; let - cfg = config.tux.services.tfolio; -in { - options.tux.services.tfolio = { - enable = mkEnableOption "Enable tfolio"; - - host = mkOption { - type = lib.types.str; - default = "0.0.0.0"; - description = "IP address or hostname on which the tfolio service will listen."; - }; - - port = mkOption { - type = lib.types.port; - default = 22; - description = "Port number on which the tfolio service will listen."; - }; - - dataDir = mkOption { - type = lib.types.str; - default = "/var/lib/tfolio/"; - description = "Directory where tfolio will store its data files."; - }; - - user = mkOption { - type = types.str; - default = "tfolio"; - description = "User under which the tfolio service runs."; - }; - - group = mkOption { - type = types.str; - default = "tfolio"; - description = "Group under which the tfolio service runs."; - }; - }; - - config = mkIf cfg.enable { - systemd.services = { - tfolio = { - description = "my portfolio in a ssh session"; - after = ["network.target"]; - wantedBy = ["multi-user.target"]; - - serviceConfig = { - Type = "simple"; - User = cfg.user; - Group = cfg.group; - ExecStart = "${getExe pkgs.tfolio} -l ${cfg.host} -p ${toString cfg.port} -d ${cfg.dataDir}"; - Restart = "always"; - StateDirectory = "tfolio"; - - # Allow binding to privileged ports - AmbientCapabilities = "CAP_NET_BIND_SERVICE"; - CapabilityBoundingSet = "CAP_NET_BIND_SERVICE"; - - LockPersonality = true; - MemoryDenyWriteExecute = true; - NoNewPrivileges = true; - PrivateDevices = true; - PrivateIPC = true; - PrivateTmp = true; - ProtectClock = true; - ProtectControlGroups = true; - ProtectHome = "read-only"; - ProtectHostname = true; - ProtectKernelLogs = true; - ProtectKernelModules = true; - ProtectKernelTunables = true; - ProtectProc = "invisible"; - ProtectSystem = "full"; - RestrictNamespaces = "uts ipc pid user cgroup"; - RestrictRealtime = true; - RestrictSUIDSGID = true; - SystemCallArchitectures = "native"; - SystemCallFilter = ["@system-service"]; - UMask = "0077"; - }; - }; - }; - # Ensure the user and group exist - users.users = mkIf (cfg.user == "tfolio") { - ${cfg.user} = { - isSystemUser = true; - group = cfg.group; - description = "tfolio service user"; - home = "/var/lib/tfolio"; - createHome = true; - }; - }; - - users.groups = mkIf (cfg.group == "tfolio") { - ${cfg.group} = {}; - }; - }; -} diff --git a/modules/nixos/selfhosted/upstream-proxy.nix b/modules/nixos/selfhosted/upstream-proxy.nix deleted file mode 100644 index 7ca136e..0000000 --- a/modules/nixos/selfhosted/upstream-proxy.nix +++ /dev/null @@ -1,60 +0,0 @@ -{ - lib, - config, - pkgs, - ... -}: let - cfg = config.tux.services.nginxStreamProxy; - - upstreamServerType = lib.types.submodule ({config, ...}: { - options = { - address = lib.mkOption { - type = lib.types.str; - description = "IP address or hostname of the upstream server"; - }; - port = lib.mkOption { - type = lib.types.port; - default = 9999; - description = "Port number of the upstream server"; - }; - listenPort = lib.mkOption { - type = lib.types.port; - default = config.port; - defaultText = lib.literalExpression "port"; - description = "Local port to listen for incoming connections (defaults to port)"; - }; - }; - }); -in { - options.tux.services.nginxStreamProxy = { - enable = lib.mkEnableOption "Enable nginx TCP stream proxy"; - - upstreamServers = lib.mkOption { - type = lib.types.listOf upstreamServerType; - default = [ - { - address = "0.0.0.0"; - port = 9999; - } - ]; - description = "List of upstream servers to proxy to, each with its own listen port"; - }; - }; - - config = lib.mkIf cfg.enable { - networking.firewall.allowedTCPPorts = map (server: server.listenPort) cfg.upstreamServers; - - services.nginx = { - enable = lib.mkForce true; - package = pkgs.nginx.override {withStream = true;}; - streamConfig = - lib.concatMapStringsSep "\n" (server: '' - server { - listen ${toString server.listenPort}; - proxy_pass ${server.address}:${toString server.port}; - } - '') - cfg.upstreamServers; - }; - }; -} diff --git a/modules/nixos/selfhosted/uptime-kuma.nix b/modules/nixos/selfhosted/uptime-kuma.nix deleted file mode 100644 index ba33ffd..0000000 --- a/modules/nixos/selfhosted/uptime-kuma.nix +++ /dev/null @@ -1,22 +0,0 @@ -{lib, ...}: { - services = { - uptime-kuma = { - enable = true; - }; - - nginx = { - enable = lib.mkForce true; - virtualHosts = { - "uptime.tux.rs" = { - forceSSL = true; - useACMEHost = "tux.rs"; - locations = { - "/" = { - proxyPass = "http://localhost:3001"; - }; - }; - }; - }; - }; - }; -} diff --git a/modules/nixos/selfhosted/vaultwarden.nix b/modules/nixos/selfhosted/vaultwarden.nix deleted file mode 100644 index d518e16..0000000 --- a/modules/nixos/selfhosted/vaultwarden.nix +++ /dev/null @@ -1,29 +0,0 @@ -{lib, ...}: { - services = { - vaultwarden = { - enable = true; - config = { - domain = "https://bw.tux.rs"; - enableWebsocket = true; - signupsAllowed = true; - disableIconDownload = true; - }; - }; - - nginx = { - enable = lib.mkForce true; - virtualHosts = { - "bw.tux.rs" = { - forceSSL = true; - useACMEHost = "tux.rs"; - locations = { - "/" = { - proxyPass = "http://localhost:8000"; - proxyWebsockets = true; - }; - }; - }; - }; - }; - }; -} diff --git a/modules/nixos/selfhosted/wakapi.nix b/modules/nixos/selfhosted/wakapi.nix deleted file mode 100644 index 60e4a9a..0000000 --- a/modules/nixos/selfhosted/wakapi.nix +++ /dev/null @@ -1,50 +0,0 @@ -{ - lib, - config, - ... -}: { - services = { - wakapi = { - enable = true; - passwordSaltFile = config.sops.secrets.wakapi_salt.path; - database.createLocally = true; - settings = { - app.avatar_url_template = "https://www.gravatar.com/avatar/{email_hash}.png"; - - server = { - port = 15999; - public_url = "https://wakapi.tux.rs"; - }; - - db = { - dialect = "postgres"; - host = "/run/postgresql"; - port = 5432; - name = "wakapi"; - user = "wakapi"; - }; - - security = { - allow_signup = false; - disable_frontpage = true; - }; - }; - }; - - nginx = { - enable = lib.mkForce true; - virtualHosts = { - "wakapi.tux.rs" = { - forceSSL = true; - useACMEHost = "tux.rs"; - locations = { - "/" = { - proxyPass = "http://localhost:15999"; - proxyWebsockets = true; - }; - }; - }; - }; - }; - }; -} diff --git a/modules/nixos/steam.nix b/modules/nixos/steam.nix deleted file mode 100644 index 1931b0d..0000000 --- a/modules/nixos/steam.nix +++ /dev/null @@ -1,7 +0,0 @@ -{...}: { - programs.steam = { - enable = true; - }; - - hardware.graphics.enable32Bit = true; -} diff --git a/modules/nixos/virtualisation/default.nix b/modules/nixos/virtualisation/default.nix deleted file mode 100755 index bbae769..0000000 --- a/modules/nixos/virtualisation/default.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ - imports = [ - ./docker.nix - ./waydroid.nix - ./qemu.nix - ]; -} diff --git a/modules/nixos/virtualisation/docker.nix b/modules/nixos/virtualisation/docker.nix deleted file mode 100755 index d93f20a..0000000 --- a/modules/nixos/virtualisation/docker.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ - username, - pkgs, - ... -}: { - virtualisation = { - oci-containers.backend = "docker"; - docker.enable = true; - }; - - environment.systemPackages = with pkgs; [lazydocker]; - - users.users.${username}.extraGroups = ["docker"]; -} diff --git a/modules/nixos/virtualisation/qemu.nix b/modules/nixos/virtualisation/qemu.nix deleted file mode 100755 index 512ec17..0000000 --- a/modules/nixos/virtualisation/qemu.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ - pkgs, - username, - ... -}: { - virtualisation = { - libvirtd = { - enable = true; - qemu = { - swtpm.enable = true; - ovmf.enable = true; - ovmf.packages = [pkgs.OVMFFull.fd]; - }; - }; - }; - - users.users.${username}.extraGroups = ["libvirtd"]; - - environment.systemPackages = with pkgs; [ - virt-manager - virt-viewer - ]; -} diff --git a/modules/nixos/virtualisation/waydroid.nix b/modules/nixos/virtualisation/waydroid.nix deleted file mode 100755 index 1e2080a..0000000 --- a/modules/nixos/virtualisation/waydroid.nix +++ /dev/null @@ -1,5 +0,0 @@ -{...}: { - virtualisation = { - waydroid.enable = true; - }; -} diff --git a/overlays/default.nix b/overlays/default.nix deleted file mode 100755 index b6aa436..0000000 --- a/overlays/default.nix +++ /dev/null @@ -1,27 +0,0 @@ -{inputs, ...}: { - additions = final: _prev: import ../pkgs {pkgs = final;}; - - modifications = final: prev: { - awesome = inputs.nixpkgs-f2k.packages.${prev.system}.awesome-git; - ghostty = inputs.ghostty.packages.${prev.system}.default; - tfolio = inputs.tfolio.packages.${prev.system}.default; - cyber-tux = inputs.cyber-tux.packages.${prev.system}.default; - discord = prev.discord.override { - withOpenASAR = true; - withVencord = true; - }; - }; - - # When applied, the stable nixpkgs set (declared in the flake inputs) will - # be accessible through 'pkgs.stable' - stable-packages = final: _prev: { - stable = import inputs.nixpkgs-stable { - system = final.system; - config.allowUnfree = true; - }; - }; - - nur = inputs.nur.overlays.default; - - nix-vscode-extensions = inputs.nix-vscode-extensions.overlays.default; -} diff --git a/pkgs/astronvim/default.nix b/pkgs/astronvim/default.nix deleted file mode 100644 index db03bd1..0000000 --- a/pkgs/astronvim/default.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ - lib, - stdenv, - pkgs, -}: let - user = ./user; -in - stdenv.mkDerivation { - pname = "astronvim"; - version = "3.44.1"; - - src = pkgs.fetchFromGitHub { - owner = "AstroNvim"; - repo = "AstroNvim"; - rev = "refs/heads/main"; - sha256 = "sha256-1nfMx9XaTOfuz1IlvepJdEfrX539RRVN5RXzUR00tfk="; - }; - - installPhase = '' - mkdir $out - cp -r * "$out/" - mkdir -p "$out/lua/user" - cp -r ${user}/* "$out/lua/user/" - ''; - - meta = with lib; { - description = "AstroNvim"; - homepage = "https://github.com/AstroNvim/AstroNvim"; - platforms = platforms.all; - license = licenses.gpl3; - }; - } diff --git a/pkgs/astronvim/user/init.lua b/pkgs/astronvim/user/init.lua deleted file mode 100644 index 7f8dbdf..0000000 --- a/pkgs/astronvim/user/init.lua +++ /dev/null @@ -1,209 +0,0 @@ -local M = {} - -M.opt = { - guifont = "FiraCode Nerd Font:h8", - neovide_scale_factor = 0.6, -} - -M.colorscheme = "oxocarbon" -M.icons = { - VimIcon = "", - ScrollText = "", - GitBranch = "", - GitAdd = "", - GitChange = "", - GitDelete = "", -} -M.heirline = { - separators = { - left = { "", " " }, - right = { " ", "" }, - tab = { "", "" }, - }, - colors = function(hl) - local get_hlgroup = require("astronvim.utils").get_hlgroup - local comment_fg = get_hlgroup("Comment").fg - hl.git_branch_fg = comment_fg - hl.git_added = comment_fg - hl.git_changed = comment_fg - hl.git_removed = comment_fg - hl.blank_bg = get_hlgroup("Folded").fg - hl.file_info_bg = get_hlgroup("Visual").bg - hl.nav_icon_bg = get_hlgroup("String").fg - hl.nav_fg = hl.nav_icon_bg - hl.folder_icon_bg = get_hlgroup("Error").fg - return hl - end, - attributes = { - mode = { bold = true }, - }, - icon_highlights = { - file_icon = { - statusline = false, - }, - }, -} -M.plugins = { - { - "goolord/alpha-nvim", - opts = function(_, opts) - opts.section.header.val = { - "██████████████████████████████████████████████████", - "█░░░░░░░░░░░░░░█░░░░░░██░░░░░░█░░░░░░░░██░░░░░░░░█", - "█░░▄▀▄▀▄▀▄▀▄▀░░█░░▄▀░░██░░▄▀░░█░░▄▀▄▀░░██░░▄▀▄▀░░█", - "█░░░░░░▄▀░░░░░░█░░▄▀░░██░░▄▀░░█░░░░▄▀░░██░░▄▀░░░░█", - "█████░░▄▀░░█████░░▄▀░░██░░▄▀░░███░░░░▄▀▄▀▄▀░░░░███", - "█████░░▄▀░░█████░░▄▀░░██░░▄▀░░█████░░▄▀▄▀▄▀░░█████", - "█████░░▄▀░░█████░░▄▀░░██░░▄▀░░███░░░░▄▀▄▀▄▀░░░░███", - "█████░░▄▀░░█████░░▄▀░░░░░░▄▀░░█░░░░▄▀░░██░░▄▀░░░░█", - "█████░░▄▀░░█████░░▄▀▄▀▄▀▄▀▄▀░░█░░▄▀▄▀░░██░░▄▀▄▀░░█", - "█████░░░░░░█████░░░░░░░░░░░░░░█░░░░░░░░██░░░░░░░░█", - "██████████████████████████████████████████████████", - } - end, - }, - { "wakatime/vim-wakatime" }, - { "eandrju/cellular-automaton.nvim", event = "VeryLazy" }, - "AstroNvim/astrocommunity", - { import = "astrocommunity.utility.noice-nvim" }, - { import = "astrocommunity.pack.json" }, - { import = "astrocommunity.pack.tailwindcss" }, - { import = "astrocommunity.pack.bash" }, - { import = "astrocommunity.pack.lua" }, - { import = "astrocommunity.pack.python" }, - { import = "astrocommunity.pack.go" }, - { import = "astrocommunity.pack.nix" }, - { import = "astrocommunity.pack.typescript" }, - { import = "astrocommunity.pack.prisma" }, - { import = "astrocommunity.colorscheme.nightfox-nvim" }, - { import = "astrocommunity.colorscheme.gruvbox-baby" }, - { import = "astrocommunity.colorscheme.oxocarbon-nvim" }, - { - "gruvbox-baby", - config = function() - vim.g.gruvbox_baby_background_color = "dark" - vim.g.gruvbox_baby_transparent_mode = true - -- vim.g.gruvbox_baby_color_overrides = { - -- background = "#0f0f0f", - -- } - end, - }, - { - "nightfox.nvim", - opts = { - options = { - -- transparent = function() - -- if vim.g.neovide then - -- return false - -- end - -- return true - -- end, - }, - }, - }, - { - "David-Kunz/gen.nvim", - config = function() - require("gen").setup({ - model = "zephyr", - display_mode = "float", - show_prompt = true, - show_model = true, - no_auto_close = false, - init = function() - pcall(io.popen, "ollama serve > /dev/null 2>&1 &") - end, - debug = false, - }) - end, - }, - { - "rebelot/heirline.nvim", - opts = function(_, opts) - local status = require("astronvim.utils.status") - opts.statusline = { - hl = { fg = "fg", bg = "bg" }, - status.component.mode({ - mode_text = { icon = { kind = "VimIcon", padding = { right = 1, left = 1 } } }, - surround = { - separator = "left", - color = function() - return { main = status.hl.mode_bg(), right = "blank_bg" } - end, - }, - }), - status.component.builder({ - { provider = "" }, - surround = { separator = "left", color = { main = "blank_bg", right = "file_info_bg" } }, - }), - status.component.file_info({ - file_icon = { padding = { left = 0 } }, - filename = { fallback = "Empty" }, - padding = { right = 1 }, - surround = { separator = "left", condition = false }, - }), - status.component.git_branch({ surround = { separator = "none" } }), - status.component.git_diff({ padding = { left = 1 }, surround = { separator = "none" } }), - status.component.fill(), - status.component.lsp({ lsp_client_names = false, surround = { separator = "none", color = "bg" } }), - status.component.fill(), - status.component.diagnostics({ surround = { separator = "right" } }), - status.component.lsp({ lsp_progress = false, surround = { separator = "right" } }), - { - status.component.builder({ - { provider = require("astronvim.utils").get_icon("FolderClosed") }, - padding = { right = 1 }, - hl = { fg = "bg" }, - surround = { separator = "right", color = "folder_icon_bg" }, - }), - status.component.file_info({ - filename = { - fname = function(nr) - return vim.fn.getcwd(nr) - end, - padding = { left = 1 }, - }, - file_icon = false, - file_modified = false, - file_read_only = false, - surround = { separator = "none", color = "file_info_bg", condition = false }, - }), - }, - { - status.component.builder({ - { provider = require("astronvim.utils").get_icon("ScrollText") }, - padding = { right = 1 }, - hl = { fg = "bg" }, - surround = { separator = "right", color = { main = "nav_icon_bg", left = "file_info_bg" } }, - }), - status.component.nav({ - percentage = { padding = { right = 1 } }, - ruler = false, - scrollbar = false, - surround = { separator = "none", color = "file_info_bg" }, - }), - }, - } - return opts - end, - }, -} -M.lsp = { - config = { - lua_ls = function() - return { - settings = { - Lua = { - diagnostics = { - globals = { - "vim", - "require", - }, - }, - }, - }, - } - end, - }, -} -return M diff --git a/pkgs/astronvim/user/mappings.lua b/pkgs/astronvim/user/mappings.lua deleted file mode 100644 index eccd21a..0000000 --- a/pkgs/astronvim/user/mappings.lua +++ /dev/null @@ -1,18 +0,0 @@ -return { - n = { - [""] = { - function() - vim.g.neovide_scale_factor = vim.g.neovide_scale_factor + 0.1 - end, - desc = "Zoom In (Neovide)", - }, - [""] = { - function() - vim.g.neovide_scale_factor = vim.g.neovide_scale_factor - 0.1 - end, - desc = "Zoom Out (Neovide)", - }, - ["ai"] = { ":Gen", desc = "Run Ollama" }, - ["fml"] = { ":CellularAutomaton make_it_rain", desc = "FML" }, - }, -} diff --git a/pkgs/astronvim/user/options.lua b/pkgs/astronvim/user/options.lua deleted file mode 100644 index d45fe5b..0000000 --- a/pkgs/astronvim/user/options.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - g = { - -- neovide_background_color = "#0f0f0f", - }, - opt = { - guifont = "FiraCode Nerd Font:h12", - }, -} diff --git a/pkgs/default.nix b/pkgs/default.nix deleted file mode 100755 index b7ee681..0000000 --- a/pkgs/default.nix +++ /dev/null @@ -1,8 +0,0 @@ -{pkgs, ...}: { - tux-awesome-wm-config = pkgs.callPackage ./awesome {}; - tux-nvim-config = pkgs.callPackage ./nvim {}; - astronvim = pkgs.callPackage ./astronvim {}; - firefox-mod-blur = pkgs.callPackage ./firefox-mod-blur {}; - plymouth-spinner-monochrome = pkgs.callPackage ./plymouth-spinner-monochrome {}; - go-wol = pkgs.callPackage ./go-wol {}; -} diff --git a/pkgs/firefox-mod-blur/default.nix b/pkgs/firefox-mod-blur/default.nix deleted file mode 100644 index 3345b5c..0000000 --- a/pkgs/firefox-mod-blur/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ - lib, - stdenv, - pkgs, -}: -stdenv.mkDerivation { - pname = "firefox-mod-blur"; - version = "v2.14"; - - src = pkgs.fetchFromGitHub { - owner = "datguypiko"; - repo = "Firefox-Mod-Blur"; - rev = "refs/heads/master"; - sha256 = "sha256-vd+h2CzAcrh2u0+Y5hAJTQj6p/cXT3hWdxLhF+fViRU="; - }; - - installPhase = '' - mkdir $out - cp -r * "$out/" - cp -r "$out/EXTRA MODS/Bookmarks Bar Mods/Bookmarks bar same color as toolbar/bookmarks_bar_same_color_as_toolbar.css" "$out/" - cp -r "$out/EXTRA MODS/Search Bar Mods/Search box - No search engine buttons/no_search_engines_in_url_bar.css" "$out/" - ''; - - meta = with lib; { - description = "Firefox Mod Blur"; - homepage = "https://github.com/datguypiko/Firefox-Mod-Blur"; - platforms = platforms.all; - license = licenses.gpl3; - }; -} diff --git a/pkgs/go-wol/default.nix b/pkgs/go-wol/default.nix deleted file mode 100644 index 01977ce..0000000 --- a/pkgs/go-wol/default.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ - lib, - buildGoModule, - fetchFromGitHub, - ... -}: let - version = "2.0.1"; -in - buildGoModule { - pname = "go-wol"; - inherit version; - - src = fetchFromGitHub { - owner = "sabhiram"; - repo = "go-wol"; - rev = "v${version}"; - hash = "sha256-iV3p0PjRK0ItfOaRJoS30iZC+O3lNPWfcRb3pfv60RY="; - }; - - vendorHash = "sha256-Ze928UnuvScA32fglTYkQx+XE15BxSB6vNa9OSyhN3w="; - - meta = with lib; { - homepage = "https://github.com/sabhiram/go-wol"; - description = "Simple wake on LAN magic packet generator for golang"; - license = licenses.mit; - }; - } diff --git a/pkgs/nvim/default.nix b/pkgs/nvim/default.nix deleted file mode 100644 index fc0144a..0000000 --- a/pkgs/nvim/default.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ - stdenv, - lib, -}: let - nvim = ./nvim; -in - stdenv.mkDerivation { - pname = "tux-nvim-config"; - version = "2.5.0"; - - buildCommand = '' - mkdir -p $out - cp -r ${nvim}/* "$out/" - ''; - - meta = with lib; { - description = "tux's nvim config"; - homepage = "https://tux.rs"; - platforms = platforms.all; - license = licenses.gpl3; - }; - } diff --git a/pkgs/nvim/nvim/init.lua b/pkgs/nvim/nvim/init.lua deleted file mode 100644 index 66d8848..0000000 --- a/pkgs/nvim/nvim/init.lua +++ /dev/null @@ -1,54 +0,0 @@ -vim.g.base46_cache = vim.fn.stdpath("data") .. "/base46/" -vim.g.mapleader = " " - --- bootstrap lazy and all plugins -local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" - -if not vim.loop.fs_stat(lazypath) then - local repo = "https://github.com/folke/lazy.nvim.git" - vim.fn.system({ "git", "clone", "--filter=blob:none", repo, "--branch=stable", lazypath }) -end - -vim.opt.rtp:prepend(lazypath) - -local lazy_config = require("configs.lazy") - --- load plugins -require("lazy").setup({ - { - "NvChad/NvChad", - lazy = false, - branch = "v2.5", - import = "nvchad.plugins", - config = function() - require("options") - end, - }, - - { import = "plugins" }, -}, lazy_config) - --- load theme -dofile(vim.g.base46_cache .. "defaults") -dofile(vim.g.base46_cache .. "statusline") - -require("nvchad.autocmds") - -vim.schedule(function() - require("mappings") -end) - --- hightlight on yank -vim.api.nvim_create_autocmd("TextYankPost", { - group = vim.api.nvim_create_augroup("highlight_yank", { clear = true }), - desc = "Hightlight selection on yank", - pattern = "*", - callback = function() - vim.highlight.on_yank() - end, -}) - --- load neovide -require("neovide") - -vim.filetype.add({ extension = { templ = "templ" } }) diff --git a/pkgs/nvim/nvim/lua/chadrc.lua b/pkgs/nvim/nvim/lua/chadrc.lua deleted file mode 100644 index 7ab9d43..0000000 --- a/pkgs/nvim/nvim/lua/chadrc.lua +++ /dev/null @@ -1,28 +0,0 @@ -local M = {} - -M.base46 = { - theme = "poimandres", - transparency = true, -} - -M.lsp = { - signature = false, -} - -M.nvdash = { - load_on_startup = true, - - header = { - " ", - " ", - "|------------------------|", - "| NOBODY FUX WITH TUX |", - "|------------------------|", - " \\ (•◡•) / ", - " \\ / ", - " ", - " ", - }, -} - -return M diff --git a/pkgs/nvim/nvim/lua/configs/avante.lua b/pkgs/nvim/nvim/lua/configs/avante.lua deleted file mode 100644 index 52b0a7e..0000000 --- a/pkgs/nvim/nvim/lua/configs/avante.lua +++ /dev/null @@ -1,22 +0,0 @@ -local opts = { - provider = "hyperbolic", - vendors = { - deepseek = { - __inherited_from = "openai", - api_key_name = "DEEPSEEK_API_KEY", - endpoint = "https://api.deepseek.com/v1", - model = "deepseek-chat", - }, - - hyperbolic = { - __inherited_from = "openai", - api_key_name = "cmd:cat /run/secrets/hyperbolic_api_key", - endpoint = "https://api.hyperbolic.xyz/v1", - model = "deepseek-ai/DeepSeek-R1", - temperature = 0, - max_tokens = 4096, - }, - }, -} - -return opts diff --git a/pkgs/nvim/nvim/lua/configs/conform.lua b/pkgs/nvim/nvim/lua/configs/conform.lua deleted file mode 100644 index 1f73e50..0000000 --- a/pkgs/nvim/nvim/lua/configs/conform.lua +++ /dev/null @@ -1,29 +0,0 @@ -local prettier = { "prettierd", "prettier" } - -local options = { - lsp_fallback = true, - - formatters_by_ft = { - lua = { "stylua" }, - javascript = prettier, - typescript = prettier, - javascriptreact = prettier, - typescriptreact = prettier, - json = prettier, - jsonc = prettier, - css = prettier, - html = prettier, - markdown = prettier, - nix = { "alejandra" }, - go = { "goimports", "gofumpt" }, - rust = { "rust_analyzer" }, - }, - - format_on_save = { - lsp_fallback = true, - async = false, - timeout_ms = 1000, - }, -} - -require("conform").setup(options) diff --git a/pkgs/nvim/nvim/lua/configs/dap.lua b/pkgs/nvim/nvim/lua/configs/dap.lua deleted file mode 100644 index c2f3ff1..0000000 --- a/pkgs/nvim/nvim/lua/configs/dap.lua +++ /dev/null @@ -1,17 +0,0 @@ -require("dapui").setup() -require("nvim-dap-virtual-text").setup() - -local dap, dapui = require("dap"), require("dapui") - -dap.listeners.before.attach.dapui_config = function() - dapui.open() -end -dap.listeners.before.launch.dapui_config = function() - dapui.open() -end -dap.listeners.before.event_terminated.dapui_config = function() - dapui.close() -end -dap.listeners.before.event_exited.dapui_config = function() - dapui.close() -end diff --git a/pkgs/nvim/nvim/lua/configs/go.lua b/pkgs/nvim/nvim/lua/configs/go.lua deleted file mode 100644 index 384b129..0000000 --- a/pkgs/nvim/nvim/lua/configs/go.lua +++ /dev/null @@ -1,5 +0,0 @@ -require("go").setup({ - trouble = true, - icons = { breakpoint = "", currentpos = "" }, - gocoverage_sign = "│", -}) diff --git a/pkgs/nvim/nvim/lua/configs/lazy.lua b/pkgs/nvim/nvim/lua/configs/lazy.lua deleted file mode 100644 index cd170bd..0000000 --- a/pkgs/nvim/nvim/lua/configs/lazy.lua +++ /dev/null @@ -1,47 +0,0 @@ -return { - defaults = { lazy = true }, - install = { colorscheme = { "nvchad" } }, - - ui = { - icons = { - ft = "", - lazy = "󰂠 ", - loaded = "", - not_loaded = "", - }, - }, - - performance = { - rtp = { - disabled_plugins = { - "2html_plugin", - "tohtml", - "getscript", - "getscriptPlugin", - "gzip", - "logipat", - "netrw", - "netrwPlugin", - "netrwSettings", - "netrwFileHandlers", - "matchit", - "tar", - "tarPlugin", - "rrhelper", - "spellfile_plugin", - "vimball", - "vimballPlugin", - "zip", - "zipPlugin", - "tutor", - "rplugin", - "syntax", - "synmenu", - "optwin", - "compiler", - "bugreport", - "ftplugin", - }, - }, - }, -} diff --git a/pkgs/nvim/nvim/lua/configs/lspconfig.lua b/pkgs/nvim/nvim/lua/configs/lspconfig.lua deleted file mode 100644 index c1e5119..0000000 --- a/pkgs/nvim/nvim/lua/configs/lspconfig.lua +++ /dev/null @@ -1,47 +0,0 @@ -local configs = require("nvchad.configs.lspconfig") -local on_attach = configs.on_attach -local capabilities = configs.capabilities - -local lspconfig = require("lspconfig") - -local servers = { "eslint", "gopls", "templ" } - -for _, lsp in ipairs(servers) do - lspconfig[lsp].setup({ - on_attach = on_attach, - capabilities = capabilities, - }) -end - -lspconfig.nil_ls.setup({ - on_attach = on_attach, - capabilities = capabilities, - filetypes = { "nix" }, - cmd = { "nil" }, - settings = { - ["nil"] = { - flake = { - autoArchive = true, - }, - }, - }, -}) - -lspconfig.html.setup({ - on_attach = on_attach, - capabilities = capabilities, - filetypes = { "html", "templ" }, -}) - -lspconfig.htmx.setup({ - on_attach = on_attach, - capabilities = capabilities, - filetypes = { "html", "templ" }, -}) - -lspconfig.tailwindcss.setup({ - on_attach = on_attach, - capabilities = capabilities, - filetypes = { "templ", "astro", "javascript", "typescript", "react", "typescriptreact" }, - init_options = { userLanguages = { templ = "html" } }, -}) diff --git a/pkgs/nvim/nvim/lua/configs/noice.lua b/pkgs/nvim/nvim/lua/configs/noice.lua deleted file mode 100644 index c18decf..0000000 --- a/pkgs/nvim/nvim/lua/configs/noice.lua +++ /dev/null @@ -1,27 +0,0 @@ -local opts = { - lsp = { - override = { - ["vim.lsp.util.convert_input_to_markdown_lines"] = true, - ["vim.lsp.util.stylize_markdown"] = true, - ["cmp.entry.get_documentation"] = true, - }, - }, - presets = { - long_message_to_split = true, - inc_rename = false, - lsp_doc_border = false, - }, - views = { - mini = { - win_options = { - winblend = 0, - }, - }, - }, -} - -require("notify").setup({ - background_colour = "#000", -}) - -return opts diff --git a/pkgs/nvim/nvim/lua/configs/null-ls.lua b/pkgs/nvim/nvim/lua/configs/null-ls.lua deleted file mode 100644 index beb6fd1..0000000 --- a/pkgs/nvim/nvim/lua/configs/null-ls.lua +++ /dev/null @@ -1,40 +0,0 @@ -local augroup = vim.api.nvim_create_augroup("LspFormatting", {}) -local null_ls = require("null-ls") - -local b = null_ls.builtins - -local opts = { - sources = { - b.formatting.prettierd, - b.formatting.stylua, - - -- nix - b.code_actions.statix, - b.formatting.alejandra, - b.diagnostics.deadnix, - - -- go - b.code_actions.gomodifytags, - b.code_actions.impl, - b.formatting.gofumpt, - b.formatting.goimports, - b.diagnostics.staticcheck, - }, - on_attach = function(client, bufnr) - if client.supports_method("textDocument/formatting") then - vim.api.nvim_clear_autocmds({ - group = augroup, - buffer = bufnr, - }) - vim.api.nvim_create_autocmd("BufWritePre", { - group = augroup, - buffer = bufnr, - callback = function() - vim.lsp.buf.format({ bufnr = bufnr }) - end, - }) - end - end, -} - -return opts diff --git a/pkgs/nvim/nvim/lua/configs/overrides.lua b/pkgs/nvim/nvim/lua/configs/overrides.lua deleted file mode 100644 index 833135d..0000000 --- a/pkgs/nvim/nvim/lua/configs/overrides.lua +++ /dev/null @@ -1,71 +0,0 @@ -local M = {} - -M.treesitter = { - ensure_installed = { - -- defaults - "vim", - "lua", - "regex", - "bash", - "markdown", - "markdown_inline", - - -- web dev - "html", - "css", - "javascript", - "typescript", - "tsx", - - -- nix - "nix", - - -- go - "go", - "gomod", - "gowork", - "gosum", - "templ", - - -- rust - "rust", - }, -} - -M.mason = { - ensure_installed = { - -- defaults - "lua-language-server", - "stylua", - "luacheck", - - -- web dev - "css-lsp", - "html-lsp", - "htmx-lsp", - "prettier", - "prettierd", - "eslint-lsp", - "eslint_d", - "tailwindcss-language-server", - - -- nix - "nil", - - -- go - "gopls", - "templ", - - -- rust - "codelldb", - }, -} - -M.telescope = { - defaults = { - winblend = 40, - pumblend = 40, - }, -} - -return M diff --git a/pkgs/nvim/nvim/lua/configs/rust.lua b/pkgs/nvim/nvim/lua/configs/rust.lua deleted file mode 100644 index 52ce836..0000000 --- a/pkgs/nvim/nvim/lua/configs/rust.lua +++ /dev/null @@ -1,17 +0,0 @@ -local configs = require("nvchad.configs.lspconfig") -local on_attach = configs.on_attach -local capabilities = configs.capabilities - -vim.g.rustaceanvim = { - server = { - on_attach = on_attach, - capabilities = capabilities, - default_settings = { - ["rust-analyzer"] = { - cargo = { - allFeatures = true, - }, - }, - }, - }, -} diff --git a/pkgs/nvim/nvim/lua/configs/smart-yank.lua b/pkgs/nvim/nvim/lua/configs/smart-yank.lua deleted file mode 100644 index f5624a4..0000000 --- a/pkgs/nvim/nvim/lua/configs/smart-yank.lua +++ /dev/null @@ -1,20 +0,0 @@ -require("smartyank").setup({ - highlight = { - enabled = true, - higroup = "IncSearch", - timeout = 2000, - }, - clipboard = { - enabled = true, - }, - tmux = { - enabled = true, - cmd = { "tmux", "set-buffer", "-w" }, - }, - osc52 = { - enabled = true, - ssh_only = false, - silent = false, - echo_hl = "Directory", - }, -}) diff --git a/pkgs/nvim/nvim/lua/configs/ts.lua b/pkgs/nvim/nvim/lua/configs/ts.lua deleted file mode 100644 index 2af2738..0000000 --- a/pkgs/nvim/nvim/lua/configs/ts.lua +++ /dev/null @@ -1,5 +0,0 @@ -local on_attach = require("nvchad.configs.lspconfig").on_attach - -require("typescript-tools").setup({ - on_attach = on_attach, -}) diff --git a/pkgs/nvim/nvim/lua/mappings.lua b/pkgs/nvim/nvim/lua/mappings.lua deleted file mode 100644 index 562273f..0000000 --- a/pkgs/nvim/nvim/lua/mappings.lua +++ /dev/null @@ -1,56 +0,0 @@ -require("nvchad.mappings") - -local map = vim.keymap.set - -local float_opts = { - relative = "editor", - row = 0.13, - col = 0.14, - width = 0.7, - height = 0.7, - border = "single", -} - -local toggleTerm = function() - require("nvchad.term").toggle({ pos = "float", id = "float", float_opts = float_opts }) -end - -local toggleLazygit = function() - require("nvchad.term").toggle({ pos = "float", id = "lazygit", float_opts = float_opts, cmd = "lazygit" }) -end - -local toggleTreesj = function() - require("treesj").toggle() -end - -local closeAllBuffer = function() - require("nvchad.tabufline").closeAllBufs() -end - -map({ "n", "t" }, "", toggleTerm, { desc = "Toggle Floating Terminal" }) -map({ "n", "t" }, "", toggleLazygit, { desc = "Toggle Lazygit" }) -map("n", "Sl", "SessionManager! load_last_session", { desc = "Load last session" }) -map("n", "Ss", "SessionManager! save_current_session", { desc = "Save this session" }) -map("n", "Sd", "SessionManager! delete_session", { desc = "Delete session" }) -map("n", "Sf", "SessionManager! load_session", { desc = "Search sessions" }) -map("n", "S.", "SessionManager! load_current_dir_session", { desc = "Load current directory session" }) -map("n", "tt", "TroubleToggle", { desc = "Toggle diagnostics" }) -map("n", "td", "TodoTelescope keywords=TODO,FIX,FIXME,BUG,TEST,NOTE", { desc = "Todo/Fix/Fixme" }) -map("n", "m", toggleTreesj, { desc = "Toggle Treesitter Join" }) -map("n", "o", "Outline", { desc = "Toggle Outline" }) -map("n", "tn", "Boole increment", { desc = "Increase value" }) -map("n", "tp", "Boole decrement", { desc = "Decrease value" }) -map("n", "X", closeAllBuffer, { desc = "Close all buffers" }) - --- DAP -map("n", "", "DapToggleBreakpoint", { desc = "Toggle break point" }) -map("n", "", "DapContinue", { desc = "Continue" }) -map("n", "", "DapTerminate", { desc = "Terminate" }) -map("n", "", "DapStepOver", { desc = "Step over" }) - --- Go To Tab -for i = 1, 9, 1 do - vim.keymap.set("n", string.format("", i), function() - vim.api.nvim_set_current_buf(vim.t.bufs[i]) - end) -end diff --git a/pkgs/nvim/nvim/lua/neovide.lua b/pkgs/nvim/nvim/lua/neovide.lua deleted file mode 100644 index 325fdf3..0000000 --- a/pkgs/nvim/nvim/lua/neovide.lua +++ /dev/null @@ -1,21 +0,0 @@ -local map = vim.keymap.set -local g = vim.g - -if g.neovide then - -- options - g.neovide_scale_factor = 0.7 - g.neovide_transparency = 0.9 - g.neovide_refresh_rate = 144 - - -- bindings - local zoomInNeovide = function() - g.neovide_scale_factor = g.neovide_scale_factor + 0.1 - end - - local zoomOutNeovide = function() - g.neovide_scale_factor = g.neovide_scale_factor - 0.1 - end - - map("n", "", zoomInNeovide, { desc = "Zoom In (Neovide)" }) - map("n", "", zoomOutNeovide, { desc = "Zoom Out (Neovide)" }) -end diff --git a/pkgs/nvim/nvim/lua/options.lua b/pkgs/nvim/nvim/lua/options.lua deleted file mode 100644 index cccaf41..0000000 --- a/pkgs/nvim/nvim/lua/options.lua +++ /dev/null @@ -1,7 +0,0 @@ -require("nvchad.options") - -local opt = vim.opt - -opt.relativenumber = true -opt.scrolloff = 5 -opt.guifont = "FiraCode Nerd Font:h12" diff --git a/pkgs/nvim/nvim/lua/plugins/init.lua b/pkgs/nvim/nvim/lua/plugins/init.lua deleted file mode 100644 index 612ee07..0000000 --- a/pkgs/nvim/nvim/lua/plugins/init.lua +++ /dev/null @@ -1,216 +0,0 @@ -local overrides = require("configs.overrides") - -local plugins = { - { - "stevearc/conform.nvim", - event = { "BufWritePre" }, - cmd = { "ConformInfo" }, - config = function() - require("configs.conform") - end, - }, - { - "nvim-treesitter/nvim-treesitter", - opts = overrides.treesitter, - }, - { - "williamboman/mason.nvim", - opts = overrides.mason, - }, - { - "nvim-telescope/telescope.nvim", - opts = { - defaults = { - winblend = 0, - }, - }, - }, - { - "yetone/avante.nvim", - event = "VeryLazy", - lazy = false, - version = false, - build = "make", - opts = function() - return require("configs.avante") - end, - dependencies = { - "nvim-treesitter/nvim-treesitter", - "stevearc/dressing.nvim", - "nvim-lua/plenary.nvim", - "MunifTanjim/nui.nvim", - "nvim-tree/nvim-web-devicons", - }, - }, - { - "Shatur/neovim-session-manager", - dependencies = { - "nvim-lua/plenary.nvim", - "stevearc/dressing.nvim", - }, - event = "BufWritePost", - cmd = "SessionManager", - }, - { - "folke/noice.nvim", - event = "VeryLazy", - dependencies = { - "MunifTanjim/nui.nvim", - "rcarriga/nvim-notify", - }, - opts = function() - return require("configs.noice") - end, - }, - { - "neovim/nvim-lspconfig", - config = function() - require("nvchad.configs.lspconfig").defaults() - require("configs.lspconfig") - end, - }, - { - "nvimtools/none-ls.nvim", - event = "VeryLazy", - opts = function() - return require("configs.null-ls") - end, - }, - { - "windwp/nvim-ts-autotag", - ft = { "javascript", "javascriptreact", "typescript", "typescriptreact" }, - config = function() - require("nvim-ts-autotag").setup() - end, - }, - { - "wakatime/vim-wakatime", - lazy = false, - }, - { - "nvim-treesitter/nvim-treesitter-context", - event = "BufReadPost", - }, - { - "Wansmer/treesj", - cmd = { "TSJToggle" }, - }, - { - "hedyhli/outline.nvim", - lazy = true, - cmd = { "Outline", "OutlineOpen" }, - opts = {}, - }, - { - "folke/trouble.nvim", - cmd = { "Trouble", "TroubleToggle" }, - }, - { - "folke/todo-comments.nvim", - cmd = { "TodoTrouble", "TodoTelescope" }, - config = true, - }, - { - "folke/neodev.nvim", - event = "VeryLazy", - config = function() - require("neodev").setup({ - library = { - plugins = { "nvim-dap-ui" }, - types = true, - }, - }) - end, - }, - { - "mfussenegger/nvim-dap", - config = function() - require("configs.dap") - end, - dependencies = { - "rcarriga/nvim-dap-ui", - "nvim-neotest/nvim-nio", - "theHamsta/nvim-dap-virtual-text", - }, - }, - { - "nat-418/boole.nvim", - event = "VeryLazy", - config = function() - require("boole").setup() - end, - }, - { - "norcalli/nvim-colorizer.lua", - event = "BufReadPost", - config = function() - require("colorizer").setup() - end, - }, - -- Language specific plugins - { - "pmizio/typescript-tools.nvim", - dependencies = { - "nvim-lua/plenary.nvim", - "neovim/nvim-lspconfig", - }, - config = function() - require("configs.ts") - end, - ft = { - "javascript", - "typescript", - "javascriptreact", - "typescriptreact", - }, - }, - { - "ray-x/go.nvim", - dependencies = { - "neovim/nvim-lspconfig", - "nvim-treesitter/nvim-treesitter", - "mfussenegger/nvim-dap", - "rcarriga/nvim-dap-ui", - }, - event = { "CmdlineEnter" }, - config = function() - require("configs.go") - end, - ft = { - "go", - "gomod", - "gosum", - "gowork", - "gotmpl", - }, - build = ':lua require("go.install").update_all_sync()', - }, - { - "mrcjkb/rustaceanvim", - config = function() - require("configs.rust") - end, - version = "^4", - dependencies = { - "mfussenegger/nvim-dap", - "rcarriga/nvim-dap-ui", - }, - ft = { "rust" }, - }, - { - "OXY2DEV/markview.nvim", - event = "VeryLazy", - dependencies = { - "nvim-treesitter/nvim-treesitter", - "nvim-tree/nvim-web-devicons", - }, - }, - { - "ibhagwan/smartyank.nvim", - event = "VeryLazy", - config = function() - require("configs.smart-yank") - end, - }, -} -return plugins diff --git a/pkgs/plymouth-spinner-monochrome/default.nix b/pkgs/plymouth-spinner-monochrome/default.nix deleted file mode 100644 index 78f2a92..0000000 --- a/pkgs/plymouth-spinner-monochrome/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ - stdenv, - logo ? null, - lib, - ... -}: -stdenv.mkDerivation { - pname = "plymouth-spinner-monochrome"; - version = "1.0"; - src = ./src; - - buildPhase = lib.optionalString (logo != null) '' - ln -s ${logo} watermark.png - ''; - installPhase = '' - mkdir -p $out/share/plymouth/themes - cp -rT . $out/share/plymouth/themes/spinner-monochrome - ''; - - meta = { - platforms = lib.platforms.all; - }; -} diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0001.png b/pkgs/plymouth-spinner-monochrome/src/animation-0001.png deleted file mode 100644 index 6bd8239..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/animation-0001.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0002.png b/pkgs/plymouth-spinner-monochrome/src/animation-0002.png deleted file mode 100644 index ef8ff54..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/animation-0002.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0003.png b/pkgs/plymouth-spinner-monochrome/src/animation-0003.png deleted file mode 100644 index 205380b..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/animation-0003.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0004.png b/pkgs/plymouth-spinner-monochrome/src/animation-0004.png deleted file mode 100644 index 6038af8..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/animation-0004.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0005.png b/pkgs/plymouth-spinner-monochrome/src/animation-0005.png deleted file mode 100644 index 7a96767..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/animation-0005.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0006.png b/pkgs/plymouth-spinner-monochrome/src/animation-0006.png deleted file mode 100644 index eb0256f..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/animation-0006.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0007.png b/pkgs/plymouth-spinner-monochrome/src/animation-0007.png deleted file mode 100644 index d2ccac9..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/animation-0007.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0008.png b/pkgs/plymouth-spinner-monochrome/src/animation-0008.png deleted file mode 100644 index 85849c8..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/animation-0008.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0009.png b/pkgs/plymouth-spinner-monochrome/src/animation-0009.png deleted file mode 100644 index 3e79b9b..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/animation-0009.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0010.png b/pkgs/plymouth-spinner-monochrome/src/animation-0010.png deleted file mode 100644 index 1f64875..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/animation-0010.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0011.png b/pkgs/plymouth-spinner-monochrome/src/animation-0011.png deleted file mode 100644 index 57bec05..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/animation-0011.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0012.png b/pkgs/plymouth-spinner-monochrome/src/animation-0012.png deleted file mode 100644 index cdefdc7..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/animation-0012.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0013.png b/pkgs/plymouth-spinner-monochrome/src/animation-0013.png deleted file mode 100644 index de5aa6e..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/animation-0013.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0014.png b/pkgs/plymouth-spinner-monochrome/src/animation-0014.png deleted file mode 100644 index a019904..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/animation-0014.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0015.png b/pkgs/plymouth-spinner-monochrome/src/animation-0015.png deleted file mode 100644 index 249e173..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/animation-0015.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0016.png b/pkgs/plymouth-spinner-monochrome/src/animation-0016.png deleted file mode 100644 index f72a577..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/animation-0016.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0017.png b/pkgs/plymouth-spinner-monochrome/src/animation-0017.png deleted file mode 100644 index 02926e7..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/animation-0017.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0018.png b/pkgs/plymouth-spinner-monochrome/src/animation-0018.png deleted file mode 100644 index 667cd7d..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/animation-0018.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0019.png b/pkgs/plymouth-spinner-monochrome/src/animation-0019.png deleted file mode 100644 index 760868a..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/animation-0019.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0020.png b/pkgs/plymouth-spinner-monochrome/src/animation-0020.png deleted file mode 100644 index d228ed8..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/animation-0020.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0021.png b/pkgs/plymouth-spinner-monochrome/src/animation-0021.png deleted file mode 100644 index e7bd0f5..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/animation-0021.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0022.png b/pkgs/plymouth-spinner-monochrome/src/animation-0022.png deleted file mode 100644 index 4c77282..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/animation-0022.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0023.png b/pkgs/plymouth-spinner-monochrome/src/animation-0023.png deleted file mode 100644 index 8e77aa1..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/animation-0023.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0024.png b/pkgs/plymouth-spinner-monochrome/src/animation-0024.png deleted file mode 100644 index ed52d3d..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/animation-0024.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0025.png b/pkgs/plymouth-spinner-monochrome/src/animation-0025.png deleted file mode 100644 index 371a299..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/animation-0025.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0026.png b/pkgs/plymouth-spinner-monochrome/src/animation-0026.png deleted file mode 100644 index 1bfd5dc..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/animation-0026.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0027.png b/pkgs/plymouth-spinner-monochrome/src/animation-0027.png deleted file mode 100644 index 6f4d83b..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/animation-0027.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0028.png b/pkgs/plymouth-spinner-monochrome/src/animation-0028.png deleted file mode 100644 index eda5e3f..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/animation-0028.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0029.png b/pkgs/plymouth-spinner-monochrome/src/animation-0029.png deleted file mode 100644 index 33f2683..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/animation-0029.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0030.png b/pkgs/plymouth-spinner-monochrome/src/animation-0030.png deleted file mode 100644 index c5132bd..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/animation-0030.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0031.png b/pkgs/plymouth-spinner-monochrome/src/animation-0031.png deleted file mode 100644 index f6ed4b2..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/animation-0031.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0032.png b/pkgs/plymouth-spinner-monochrome/src/animation-0032.png deleted file mode 100644 index 0979164..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/animation-0032.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0033.png b/pkgs/plymouth-spinner-monochrome/src/animation-0033.png deleted file mode 100644 index c9ec0e5..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/animation-0033.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0034.png b/pkgs/plymouth-spinner-monochrome/src/animation-0034.png deleted file mode 100644 index 2851ef3..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/animation-0034.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0035.png b/pkgs/plymouth-spinner-monochrome/src/animation-0035.png deleted file mode 100644 index 2bd3b0d..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/animation-0035.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0036.png b/pkgs/plymouth-spinner-monochrome/src/animation-0036.png deleted file mode 100644 index fbe48ff..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/animation-0036.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/bullet.png b/pkgs/plymouth-spinner-monochrome/src/bullet.png deleted file mode 100644 index 5799dda..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/bullet.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/capslock.png b/pkgs/plymouth-spinner-monochrome/src/capslock.png deleted file mode 100644 index 9d775f6..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/capslock.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/entry.png b/pkgs/plymouth-spinner-monochrome/src/entry.png deleted file mode 100644 index 81cf210..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/entry.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/keyboard.png b/pkgs/plymouth-spinner-monochrome/src/keyboard.png deleted file mode 100644 index f532ad0..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/keyboard.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/keymap-render.png b/pkgs/plymouth-spinner-monochrome/src/keymap-render.png deleted file mode 100644 index 4aaed5a..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/keymap-render.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/lock.png b/pkgs/plymouth-spinner-monochrome/src/lock.png deleted file mode 100644 index 2de24c4..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/lock.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/spinner-monochrome.plymouth b/pkgs/plymouth-spinner-monochrome/src/spinner-monochrome.plymouth deleted file mode 100644 index b40d928..0000000 --- a/pkgs/plymouth-spinner-monochrome/src/spinner-monochrome.plymouth +++ /dev/null @@ -1,79 +0,0 @@ -[Plymouth Theme] -Name[be]=Круцёлка -Name[cs]=Točítko -Name[da]=Snurre -Name[de]=Spinner -Name[eo]=Turnilo -Name[es]=Spinner -Name[eu]=Spinner -Name[fr]=Roulette -Name[fur]=Roulette -Name[hu]=Forgó -Name[id]=Spinner -Name[it]=Spinner -Name[nl]=Spinner -Name[pa]=ਸਪਿੱਨਰ -Name[pl]=Spinner -Name[pt_BR]=Spinner -Name[ru]=Числовое поле с кнопками -Name[sr]=Предилица -Name[sv]=Spinnare -Name[uk]=Крутний індикатор -Name[zh_CN]=Spinner -Name[ms]=Spinner -Name[he]=שבשבת טעינה -Name[fa]=چرخنده -Name[fi]=Spinneri -Name=Spinner -Description=A theme designed by jimmac that features a simple spinner. -ModuleName=two-step - -[two-step] -Font=Fira Sans 12 -TitleFont=Fira Sans 30 -ImageDir=/etc/plymouth/themes/spinner-monochrome -DialogHorizontalAlignment=.5 -DialogVerticalAlignment=.382 -TitleHorizontalAlignment=.5 -TitleVerticalAlignment=.382 -HorizontalAlignment=.5 -VerticalAlignment=.7 -WatermarkHorizontalAlignment=.5 -WatermarkVerticalAlignment=.96 -Transition=none -TransitionDuration=0.0 -BackgroundStartColor=0x000000 -BackgroundEndColor=0x000000 -ProgressBarBackgroundColor=0x606060 -ProgressBarForegroundColor=0xffffff -MessageBelowAnimation=true - -[boot-up] -UseEndAnimation=false - -[shutdown] -UseEndAnimation=false - -[reboot] -UseEndAnimation=false - -[updates] -SuppressMessages=true -ProgressBarShowPercentComplete=true -UseProgressBar=true -Title=Installing Updates... -SubTitle=Do not turn off your computer - -[system-upgrade] -SuppressMessages=true -ProgressBarShowPercentComplete=true -UseProgressBar=true -Title=Upgrading System... -SubTitle=Do not turn off your computer - -[firmware-upgrade] -SuppressMessages=true -ProgressBarShowPercentComplete=true -UseProgressBar=true -Title=Upgrading Firmware... -SubTitle=Do not turn off your computer diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0001.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0001.png deleted file mode 100644 index 6a64683..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/throbber-0001.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0002.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0002.png deleted file mode 100644 index 8e9a85d..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/throbber-0002.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0003.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0003.png deleted file mode 100644 index 9fe95aa..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/throbber-0003.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0004.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0004.png deleted file mode 100644 index 687aa8b..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/throbber-0004.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0005.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0005.png deleted file mode 100644 index 3a56beb..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/throbber-0005.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0006.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0006.png deleted file mode 100644 index 949cb23..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/throbber-0006.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0007.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0007.png deleted file mode 100644 index 14d8b45..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/throbber-0007.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0008.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0008.png deleted file mode 100644 index beef391..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/throbber-0008.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0009.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0009.png deleted file mode 100644 index b366daa..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/throbber-0009.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0010.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0010.png deleted file mode 100644 index 0312f62..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/throbber-0010.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0011.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0011.png deleted file mode 100644 index f3e2cb9..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/throbber-0011.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0012.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0012.png deleted file mode 100644 index ca4f017..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/throbber-0012.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0013.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0013.png deleted file mode 100644 index ace8764..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/throbber-0013.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0014.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0014.png deleted file mode 100644 index 6c43a9d..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/throbber-0014.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0015.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0015.png deleted file mode 100644 index 1e87c5d..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/throbber-0015.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0016.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0016.png deleted file mode 100644 index fac163b..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/throbber-0016.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0017.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0017.png deleted file mode 100644 index ce792de..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/throbber-0017.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0018.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0018.png deleted file mode 100644 index 6423b95..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/throbber-0018.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0019.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0019.png deleted file mode 100644 index 45e9359..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/throbber-0019.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0020.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0020.png deleted file mode 100644 index b84b04d..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/throbber-0020.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0021.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0021.png deleted file mode 100644 index a64932d..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/throbber-0021.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0022.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0022.png deleted file mode 100644 index 4b57e23..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/throbber-0022.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0023.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0023.png deleted file mode 100644 index b3dbeef..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/throbber-0023.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0024.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0024.png deleted file mode 100644 index 196e987..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/throbber-0024.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0025.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0025.png deleted file mode 100644 index 3905e00..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/throbber-0025.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0026.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0026.png deleted file mode 100644 index 4c02eb1..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/throbber-0026.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0027.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0027.png deleted file mode 100644 index 9ab5b00..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/throbber-0027.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0028.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0028.png deleted file mode 100644 index fa8584b..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/throbber-0028.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0029.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0029.png deleted file mode 100644 index d9931e1..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/throbber-0029.png and /dev/null differ diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0030.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0030.png deleted file mode 100644 index fc1683f..0000000 Binary files a/pkgs/plymouth-spinner-monochrome/src/throbber-0030.png and /dev/null differ diff --git a/pkgs/awesome/awesome/binds/client/init.lua b/src/binds/client/init.lua similarity index 100% rename from pkgs/awesome/awesome/binds/client/init.lua rename to src/binds/client/init.lua diff --git a/pkgs/awesome/awesome/binds/client/keys.lua b/src/binds/client/keys.lua similarity index 100% rename from pkgs/awesome/awesome/binds/client/keys.lua rename to src/binds/client/keys.lua diff --git a/pkgs/awesome/awesome/binds/client/mouse.lua b/src/binds/client/mouse.lua similarity index 100% rename from pkgs/awesome/awesome/binds/client/mouse.lua rename to src/binds/client/mouse.lua diff --git a/pkgs/awesome/awesome/binds/global/init.lua b/src/binds/global/init.lua similarity index 100% rename from pkgs/awesome/awesome/binds/global/init.lua rename to src/binds/global/init.lua diff --git a/pkgs/awesome/awesome/binds/global/keys.lua b/src/binds/global/keys.lua similarity index 100% rename from pkgs/awesome/awesome/binds/global/keys.lua rename to src/binds/global/keys.lua diff --git a/pkgs/awesome/awesome/binds/global/mouse.lua b/src/binds/global/mouse.lua similarity index 100% rename from pkgs/awesome/awesome/binds/global/mouse.lua rename to src/binds/global/mouse.lua diff --git a/pkgs/awesome/awesome/binds/init.lua b/src/binds/init.lua similarity index 100% rename from pkgs/awesome/awesome/binds/init.lua rename to src/binds/init.lua diff --git a/pkgs/awesome/awesome/binds/mod.lua b/src/binds/mod.lua similarity index 100% rename from pkgs/awesome/awesome/binds/mod.lua rename to src/binds/mod.lua diff --git a/pkgs/awesome/awesome/config/apps.lua b/src/config/apps.lua similarity index 100% rename from pkgs/awesome/awesome/config/apps.lua rename to src/config/apps.lua diff --git a/pkgs/awesome/awesome/config/rules.lua b/src/config/rules.lua similarity index 100% rename from pkgs/awesome/awesome/config/rules.lua rename to src/config/rules.lua diff --git a/pkgs/awesome/awesome/config/user.lua b/src/config/user.lua similarity index 100% rename from pkgs/awesome/awesome/config/user.lua rename to src/config/user.lua diff --git a/pkgs/awesome/awesome/rc.lua b/src/rc.lua similarity index 100% rename from pkgs/awesome/awesome/rc.lua rename to src/rc.lua diff --git a/pkgs/awesome/awesome/signal/client.lua b/src/signal/client.lua similarity index 100% rename from pkgs/awesome/awesome/signal/client.lua rename to src/signal/client.lua diff --git a/pkgs/awesome/awesome/signal/init.lua b/src/signal/init.lua similarity index 100% rename from pkgs/awesome/awesome/signal/init.lua rename to src/signal/init.lua diff --git a/pkgs/awesome/awesome/signal/screen.lua b/src/signal/screen.lua similarity index 100% rename from pkgs/awesome/awesome/signal/screen.lua rename to src/signal/screen.lua diff --git a/pkgs/awesome/awesome/signal/tag.lua b/src/signal/tag.lua similarity index 100% rename from pkgs/awesome/awesome/signal/tag.lua rename to src/signal/tag.lua diff --git a/pkgs/awesome/awesome/startup.lua b/src/startup.lua similarity index 100% rename from pkgs/awesome/awesome/startup.lua rename to src/startup.lua diff --git a/pkgs/awesome/awesome/theme/default.lua b/src/theme/default.lua similarity index 100% rename from pkgs/awesome/awesome/theme/default.lua rename to src/theme/default.lua diff --git a/pkgs/awesome/awesome/theme/icons/_blank.svg b/src/theme/icons/_blank.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/_blank.svg rename to src/theme/icons/_blank.svg diff --git a/pkgs/awesome/awesome/theme/icons/apple-keyboard-command.svg b/src/theme/icons/apple-keyboard-command.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/apple-keyboard-command.svg rename to src/theme/icons/apple-keyboard-command.svg diff --git a/pkgs/awesome/awesome/theme/icons/application-variable-outline.svg b/src/theme/icons/application-variable-outline.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/application-variable-outline.svg rename to src/theme/icons/application-variable-outline.svg diff --git a/pkgs/awesome/awesome/theme/icons/application-variable.svg b/src/theme/icons/application-variable.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/application-variable.svg rename to src/theme/icons/application-variable.svg diff --git a/pkgs/awesome/awesome/theme/icons/apps.svg b/src/theme/icons/apps.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/apps.svg rename to src/theme/icons/apps.svg diff --git a/pkgs/awesome/awesome/theme/icons/arrange-bring-forward.svg b/src/theme/icons/arrange-bring-forward.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/arrange-bring-forward.svg rename to src/theme/icons/arrange-bring-forward.svg diff --git a/pkgs/awesome/awesome/theme/icons/arrow-down-right-bold.svg b/src/theme/icons/arrow-down-right-bold.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/arrow-down-right-bold.svg rename to src/theme/icons/arrow-down-right-bold.svg diff --git a/pkgs/awesome/awesome/theme/icons/arrow-u-left-top.svg b/src/theme/icons/arrow-u-left-top.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/arrow-u-left-top.svg rename to src/theme/icons/arrow-u-left-top.svg diff --git a/pkgs/awesome/awesome/theme/icons/awesomewm.svg b/src/theme/icons/awesomewm.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/awesomewm.svg rename to src/theme/icons/awesomewm.svg diff --git a/pkgs/awesome/awesome/theme/icons/bluetooth-settings.svg b/src/theme/icons/bluetooth-settings.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/bluetooth-settings.svg rename to src/theme/icons/bluetooth-settings.svg diff --git a/pkgs/awesome/awesome/theme/icons/book-clock-outline.svg b/src/theme/icons/book-clock-outline.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/book-clock-outline.svg rename to src/theme/icons/book-clock-outline.svg diff --git a/pkgs/awesome/awesome/theme/icons/book-clock.svg b/src/theme/icons/book-clock.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/book-clock.svg rename to src/theme/icons/book-clock.svg diff --git a/pkgs/awesome/awesome/theme/icons/calculator.svg b/src/theme/icons/calculator.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/calculator.svg rename to src/theme/icons/calculator.svg diff --git a/pkgs/awesome/awesome/theme/icons/calendar-month.svg b/src/theme/icons/calendar-month.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/calendar-month.svg rename to src/theme/icons/calendar-month.svg diff --git a/pkgs/awesome/awesome/theme/icons/chart-line.svg b/src/theme/icons/chart-line.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/chart-line.svg rename to src/theme/icons/chart-line.svg diff --git a/pkgs/awesome/awesome/theme/icons/check-bold.svg b/src/theme/icons/check-bold.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/check-bold.svg rename to src/theme/icons/check-bold.svg diff --git a/pkgs/awesome/awesome/theme/icons/check.svg b/src/theme/icons/check.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/check.svg rename to src/theme/icons/check.svg diff --git a/pkgs/awesome/awesome/theme/icons/checkbox-blank-outline.svg b/src/theme/icons/checkbox-blank-outline.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/checkbox-blank-outline.svg rename to src/theme/icons/checkbox-blank-outline.svg diff --git a/pkgs/awesome/awesome/theme/icons/checkbox-blank.svg b/src/theme/icons/checkbox-blank.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/checkbox-blank.svg rename to src/theme/icons/checkbox-blank.svg diff --git a/pkgs/awesome/awesome/theme/icons/checkbox-marked.svg b/src/theme/icons/checkbox-marked.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/checkbox-marked.svg rename to src/theme/icons/checkbox-marked.svg diff --git a/pkgs/awesome/awesome/theme/icons/chevron-double-up.svg b/src/theme/icons/chevron-double-up.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/chevron-double-up.svg rename to src/theme/icons/chevron-double-up.svg diff --git a/pkgs/awesome/awesome/theme/icons/chevron-down.svg b/src/theme/icons/chevron-down.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/chevron-down.svg rename to src/theme/icons/chevron-down.svg diff --git a/pkgs/awesome/awesome/theme/icons/chevron-left.svg b/src/theme/icons/chevron-left.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/chevron-left.svg rename to src/theme/icons/chevron-left.svg diff --git a/pkgs/awesome/awesome/theme/icons/chevron-right.svg b/src/theme/icons/chevron-right.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/chevron-right.svg rename to src/theme/icons/chevron-right.svg diff --git a/pkgs/awesome/awesome/theme/icons/chevron-triple-up.svg b/src/theme/icons/chevron-triple-up.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/chevron-triple-up.svg rename to src/theme/icons/chevron-triple-up.svg diff --git a/pkgs/awesome/awesome/theme/icons/chevron-up.svg b/src/theme/icons/chevron-up.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/chevron-up.svg rename to src/theme/icons/chevron-up.svg diff --git a/pkgs/awesome/awesome/theme/icons/circle-medium.svg b/src/theme/icons/circle-medium.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/circle-medium.svg rename to src/theme/icons/circle-medium.svg diff --git a/pkgs/awesome/awesome/theme/icons/circle-opacity.svg b/src/theme/icons/circle-opacity.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/circle-opacity.svg rename to src/theme/icons/circle-opacity.svg diff --git a/pkgs/awesome/awesome/theme/icons/clock-fast.svg b/src/theme/icons/clock-fast.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/clock-fast.svg rename to src/theme/icons/clock-fast.svg diff --git a/pkgs/awesome/awesome/theme/icons/clock-time-1.svg b/src/theme/icons/clock-time-1.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/clock-time-1.svg rename to src/theme/icons/clock-time-1.svg diff --git a/pkgs/awesome/awesome/theme/icons/clock-time-10.svg b/src/theme/icons/clock-time-10.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/clock-time-10.svg rename to src/theme/icons/clock-time-10.svg diff --git a/pkgs/awesome/awesome/theme/icons/clock-time-11.svg b/src/theme/icons/clock-time-11.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/clock-time-11.svg rename to src/theme/icons/clock-time-11.svg diff --git a/pkgs/awesome/awesome/theme/icons/clock-time-12.svg b/src/theme/icons/clock-time-12.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/clock-time-12.svg rename to src/theme/icons/clock-time-12.svg diff --git a/pkgs/awesome/awesome/theme/icons/clock-time-2.svg b/src/theme/icons/clock-time-2.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/clock-time-2.svg rename to src/theme/icons/clock-time-2.svg diff --git a/pkgs/awesome/awesome/theme/icons/clock-time-3.svg b/src/theme/icons/clock-time-3.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/clock-time-3.svg rename to src/theme/icons/clock-time-3.svg diff --git a/pkgs/awesome/awesome/theme/icons/clock-time-4.svg b/src/theme/icons/clock-time-4.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/clock-time-4.svg rename to src/theme/icons/clock-time-4.svg diff --git a/pkgs/awesome/awesome/theme/icons/clock-time-5.svg b/src/theme/icons/clock-time-5.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/clock-time-5.svg rename to src/theme/icons/clock-time-5.svg diff --git a/pkgs/awesome/awesome/theme/icons/clock-time-6.svg b/src/theme/icons/clock-time-6.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/clock-time-6.svg rename to src/theme/icons/clock-time-6.svg diff --git a/pkgs/awesome/awesome/theme/icons/clock-time-7.svg b/src/theme/icons/clock-time-7.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/clock-time-7.svg rename to src/theme/icons/clock-time-7.svg diff --git a/pkgs/awesome/awesome/theme/icons/clock-time-8.svg b/src/theme/icons/clock-time-8.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/clock-time-8.svg rename to src/theme/icons/clock-time-8.svg diff --git a/pkgs/awesome/awesome/theme/icons/clock-time-9.svg b/src/theme/icons/clock-time-9.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/clock-time-9.svg rename to src/theme/icons/clock-time-9.svg diff --git a/pkgs/awesome/awesome/theme/icons/close.svg b/src/theme/icons/close.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/close.svg rename to src/theme/icons/close.svg diff --git a/pkgs/awesome/awesome/theme/icons/cogs.svg b/src/theme/icons/cogs.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/cogs.svg rename to src/theme/icons/cogs.svg diff --git a/pkgs/awesome/awesome/theme/icons/console-line.svg b/src/theme/icons/console-line.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/console-line.svg rename to src/theme/icons/console-line.svg diff --git a/pkgs/awesome/awesome/theme/icons/content-copy.svg b/src/theme/icons/content-copy.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/content-copy.svg rename to src/theme/icons/content-copy.svg diff --git a/pkgs/awesome/awesome/theme/icons/delete-clock-outline.svg b/src/theme/icons/delete-clock-outline.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/delete-clock-outline.svg rename to src/theme/icons/delete-clock-outline.svg diff --git a/pkgs/awesome/awesome/theme/icons/delete-clock.svg b/src/theme/icons/delete-clock.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/delete-clock.svg rename to src/theme/icons/delete-clock.svg diff --git a/pkgs/awesome/awesome/theme/icons/delete-forever.svg b/src/theme/icons/delete-forever.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/delete-forever.svg rename to src/theme/icons/delete-forever.svg diff --git a/pkgs/awesome/awesome/theme/icons/dock-left.svg b/src/theme/icons/dock-left.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/dock-left.svg rename to src/theme/icons/dock-left.svg diff --git a/pkgs/awesome/awesome/theme/icons/dock-top.svg b/src/theme/icons/dock-top.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/dock-top.svg rename to src/theme/icons/dock-top.svg diff --git a/pkgs/awesome/awesome/theme/icons/download.svg b/src/theme/icons/download.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/download.svg rename to src/theme/icons/download.svg diff --git a/pkgs/awesome/awesome/theme/icons/emoticon-cool.svg b/src/theme/icons/emoticon-cool.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/emoticon-cool.svg rename to src/theme/icons/emoticon-cool.svg diff --git a/pkgs/awesome/awesome/theme/icons/exit-run.svg b/src/theme/icons/exit-run.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/exit-run.svg rename to src/theme/icons/exit-run.svg diff --git a/pkgs/awesome/awesome/theme/icons/eye-off.svg b/src/theme/icons/eye-off.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/eye-off.svg rename to src/theme/icons/eye-off.svg diff --git a/pkgs/awesome/awesome/theme/icons/file-document-edit.svg b/src/theme/icons/file-document-edit.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/file-document-edit.svg rename to src/theme/icons/file-document-edit.svg diff --git a/pkgs/awesome/awesome/theme/icons/firefox.svg b/src/theme/icons/firefox.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/firefox.svg rename to src/theme/icons/firefox.svg diff --git a/pkgs/awesome/awesome/theme/icons/folder-image.svg b/src/theme/icons/folder-image.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/folder-image.svg rename to src/theme/icons/folder-image.svg diff --git a/pkgs/awesome/awesome/theme/icons/folder.svg b/src/theme/icons/folder.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/folder.svg rename to src/theme/icons/folder.svg diff --git a/pkgs/awesome/awesome/theme/icons/fullscreen.svg b/src/theme/icons/fullscreen.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/fullscreen.svg rename to src/theme/icons/fullscreen.svg diff --git a/pkgs/awesome/awesome/theme/icons/help.svg b/src/theme/icons/help.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/help.svg rename to src/theme/icons/help.svg diff --git a/pkgs/awesome/awesome/theme/icons/home-thermometer.svg b/src/theme/icons/home-thermometer.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/home-thermometer.svg rename to src/theme/icons/home-thermometer.svg diff --git a/pkgs/awesome/awesome/theme/icons/identifier.svg b/src/theme/icons/identifier.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/identifier.svg rename to src/theme/icons/identifier.svg diff --git a/pkgs/awesome/awesome/theme/icons/image-filter-center-focus.svg b/src/theme/icons/image-filter-center-focus.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/image-filter-center-focus.svg rename to src/theme/icons/image-filter-center-focus.svg diff --git a/pkgs/awesome/awesome/theme/icons/image-size-select-actual.svg b/src/theme/icons/image-size-select-actual.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/image-size-select-actual.svg rename to src/theme/icons/image-size-select-actual.svg diff --git a/pkgs/awesome/awesome/theme/icons/keyboard.svg b/src/theme/icons/keyboard.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/keyboard.svg rename to src/theme/icons/keyboard.svg diff --git a/pkgs/awesome/awesome/theme/icons/lan-disconnect.svg b/src/theme/icons/lan-disconnect.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/lan-disconnect.svg rename to src/theme/icons/lan-disconnect.svg diff --git a/pkgs/awesome/awesome/theme/icons/lan-pending.svg b/src/theme/icons/lan-pending.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/lan-pending.svg rename to src/theme/icons/lan-pending.svg diff --git a/pkgs/awesome/awesome/theme/icons/layers-triple.svg b/src/theme/icons/layers-triple.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/layers-triple.svg rename to src/theme/icons/layers-triple.svg diff --git a/pkgs/awesome/awesome/theme/icons/layouts/floating.svg b/src/theme/icons/layouts/floating.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/layouts/floating.svg rename to src/theme/icons/layouts/floating.svg diff --git a/pkgs/awesome/awesome/theme/icons/layouts/fullscreen.svg b/src/theme/icons/layouts/fullscreen.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/layouts/fullscreen.svg rename to src/theme/icons/layouts/fullscreen.svg diff --git a/pkgs/awesome/awesome/theme/icons/layouts/max.svg b/src/theme/icons/layouts/max.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/layouts/max.svg rename to src/theme/icons/layouts/max.svg diff --git a/pkgs/awesome/awesome/theme/icons/layouts/tiling.center.svg b/src/theme/icons/layouts/tiling.center.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/layouts/tiling.center.svg rename to src/theme/icons/layouts/tiling.center.svg diff --git a/pkgs/awesome/awesome/theme/icons/layouts/tiling.right.svg b/src/theme/icons/layouts/tiling.right.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/layouts/tiling.right.svg rename to src/theme/icons/layouts/tiling.right.svg diff --git a/pkgs/awesome/awesome/theme/icons/lightbulb-on.svg b/src/theme/icons/lightbulb-on.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/lightbulb-on.svg rename to src/theme/icons/lightbulb-on.svg diff --git a/pkgs/awesome/awesome/theme/icons/lock.svg b/src/theme/icons/lock.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/lock.svg rename to src/theme/icons/lock.svg diff --git a/pkgs/awesome/awesome/theme/icons/logout.svg b/src/theme/icons/logout.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/logout.svg rename to src/theme/icons/logout.svg diff --git a/pkgs/awesome/awesome/theme/icons/menu-right.svg b/src/theme/icons/menu-right.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/menu-right.svg rename to src/theme/icons/menu-right.svg diff --git a/pkgs/awesome/awesome/theme/icons/menu.svg b/src/theme/icons/menu.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/menu.svg rename to src/theme/icons/menu.svg diff --git a/pkgs/awesome/awesome/theme/icons/minus.svg b/src/theme/icons/minus.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/minus.svg rename to src/theme/icons/minus.svg diff --git a/pkgs/awesome/awesome/theme/icons/monitor.svg b/src/theme/icons/monitor.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/monitor.svg rename to src/theme/icons/monitor.svg diff --git a/pkgs/awesome/awesome/theme/icons/move-resize.svg b/src/theme/icons/move-resize.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/move-resize.svg rename to src/theme/icons/move-resize.svg diff --git a/pkgs/awesome/awesome/theme/icons/music.svg b/src/theme/icons/music.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/music.svg rename to src/theme/icons/music.svg diff --git a/pkgs/awesome/awesome/theme/icons/open-in-app.svg b/src/theme/icons/open-in-app.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/open-in-app.svg rename to src/theme/icons/open-in-app.svg diff --git a/pkgs/awesome/awesome/theme/icons/open-in-new.svg b/src/theme/icons/open-in-new.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/open-in-new.svg rename to src/theme/icons/open-in-new.svg diff --git a/pkgs/awesome/awesome/theme/icons/pause.svg b/src/theme/icons/pause.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/pause.svg rename to src/theme/icons/pause.svg diff --git a/pkgs/awesome/awesome/theme/icons/pin-off.svg b/src/theme/icons/pin-off.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/pin-off.svg rename to src/theme/icons/pin-off.svg diff --git a/pkgs/awesome/awesome/theme/icons/pin.svg b/src/theme/icons/pin.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/pin.svg rename to src/theme/icons/pin.svg diff --git a/pkgs/awesome/awesome/theme/icons/pirate.svg b/src/theme/icons/pirate.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/pirate.svg rename to src/theme/icons/pirate.svg diff --git a/pkgs/awesome/awesome/theme/icons/play.svg b/src/theme/icons/play.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/play.svg rename to src/theme/icons/play.svg diff --git a/pkgs/awesome/awesome/theme/icons/plus.svg b/src/theme/icons/plus.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/plus.svg rename to src/theme/icons/plus.svg diff --git a/pkgs/awesome/awesome/theme/icons/power-settings.svg b/src/theme/icons/power-settings.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/power-settings.svg rename to src/theme/icons/power-settings.svg diff --git a/pkgs/awesome/awesome/theme/icons/power.svg b/src/theme/icons/power.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/power.svg rename to src/theme/icons/power.svg diff --git a/pkgs/awesome/awesome/theme/icons/radiobox-blank.svg b/src/theme/icons/radiobox-blank.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/radiobox-blank.svg rename to src/theme/icons/radiobox-blank.svg diff --git a/pkgs/awesome/awesome/theme/icons/radiobox-marked.svg b/src/theme/icons/radiobox-marked.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/radiobox-marked.svg rename to src/theme/icons/radiobox-marked.svg diff --git a/pkgs/awesome/awesome/theme/icons/refresh.svg b/src/theme/icons/refresh.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/refresh.svg rename to src/theme/icons/refresh.svg diff --git a/pkgs/awesome/awesome/theme/icons/rename.svg b/src/theme/icons/rename.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/rename.svg rename to src/theme/icons/rename.svg diff --git a/pkgs/awesome/awesome/theme/icons/restart.svg b/src/theme/icons/restart.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/restart.svg rename to src/theme/icons/restart.svg diff --git a/pkgs/awesome/awesome/theme/icons/shuffle-variant.svg b/src/theme/icons/shuffle-variant.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/shuffle-variant.svg rename to src/theme/icons/shuffle-variant.svg diff --git a/pkgs/awesome/awesome/theme/icons/skip-next.svg b/src/theme/icons/skip-next.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/skip-next.svg rename to src/theme/icons/skip-next.svg diff --git a/pkgs/awesome/awesome/theme/icons/skip-previous.svg b/src/theme/icons/skip-previous.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/skip-previous.svg rename to src/theme/icons/skip-previous.svg diff --git a/pkgs/awesome/awesome/theme/icons/sleep.svg b/src/theme/icons/sleep.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/sleep.svg rename to src/theme/icons/sleep.svg diff --git a/pkgs/awesome/awesome/theme/icons/speedometer-slow.svg b/src/theme/icons/speedometer-slow.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/speedometer-slow.svg rename to src/theme/icons/speedometer-slow.svg diff --git a/pkgs/awesome/awesome/theme/icons/speedometer.svg b/src/theme/icons/speedometer.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/speedometer.svg rename to src/theme/icons/speedometer.svg diff --git a/pkgs/awesome/awesome/theme/icons/stop.svg b/src/theme/icons/stop.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/stop.svg rename to src/theme/icons/stop.svg diff --git a/pkgs/awesome/awesome/theme/icons/tag-arrow-down.svg b/src/theme/icons/tag-arrow-down.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/tag-arrow-down.svg rename to src/theme/icons/tag-arrow-down.svg diff --git a/pkgs/awesome/awesome/theme/icons/tag-multiple.svg b/src/theme/icons/tag-multiple.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/tag-multiple.svg rename to src/theme/icons/tag-multiple.svg diff --git a/pkgs/awesome/awesome/theme/icons/tag.svg b/src/theme/icons/tag.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/tag.svg rename to src/theme/icons/tag.svg diff --git a/pkgs/awesome/awesome/theme/icons/target.svg b/src/theme/icons/target.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/target.svg rename to src/theme/icons/target.svg diff --git a/pkgs/awesome/awesome/theme/icons/theme-light-dark.svg b/src/theme/icons/theme-light-dark.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/theme-light-dark.svg rename to src/theme/icons/theme-light-dark.svg diff --git a/pkgs/awesome/awesome/theme/icons/thermometer-lines.svg b/src/theme/icons/thermometer-lines.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/thermometer-lines.svg rename to src/theme/icons/thermometer-lines.svg diff --git a/pkgs/awesome/awesome/theme/icons/thermometer.svg b/src/theme/icons/thermometer.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/thermometer.svg rename to src/theme/icons/thermometer.svg diff --git a/pkgs/awesome/awesome/theme/icons/timer-outline.svg b/src/theme/icons/timer-outline.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/timer-outline.svg rename to src/theme/icons/timer-outline.svg diff --git a/pkgs/awesome/awesome/theme/icons/timer-play.svg b/src/theme/icons/timer-play.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/timer-play.svg rename to src/theme/icons/timer-play.svg diff --git a/pkgs/awesome/awesome/theme/icons/timer-sand.svg b/src/theme/icons/timer-sand.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/timer-sand.svg rename to src/theme/icons/timer-sand.svg diff --git a/pkgs/awesome/awesome/theme/icons/timer-settings.svg b/src/theme/icons/timer-settings.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/timer-settings.svg rename to src/theme/icons/timer-settings.svg diff --git a/pkgs/awesome/awesome/theme/icons/toggle-switch-off-outline.svg b/src/theme/icons/toggle-switch-off-outline.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/toggle-switch-off-outline.svg rename to src/theme/icons/toggle-switch-off-outline.svg diff --git a/pkgs/awesome/awesome/theme/icons/toggle-switch-off.svg b/src/theme/icons/toggle-switch-off.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/toggle-switch-off.svg rename to src/theme/icons/toggle-switch-off.svg diff --git a/pkgs/awesome/awesome/theme/icons/toggle-switch-outline.svg b/src/theme/icons/toggle-switch-outline.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/toggle-switch-outline.svg rename to src/theme/icons/toggle-switch-outline.svg diff --git a/pkgs/awesome/awesome/theme/icons/toggle-switch.svg b/src/theme/icons/toggle-switch.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/toggle-switch.svg rename to src/theme/icons/toggle-switch.svg diff --git a/pkgs/awesome/awesome/theme/icons/toolbox.svg b/src/theme/icons/toolbox.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/toolbox.svg rename to src/theme/icons/toolbox.svg diff --git a/pkgs/awesome/awesome/theme/icons/tortoise.svg b/src/theme/icons/tortoise.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/tortoise.svg rename to src/theme/icons/tortoise.svg diff --git a/pkgs/awesome/awesome/theme/icons/tune.svg b/src/theme/icons/tune.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/tune.svg rename to src/theme/icons/tune.svg diff --git a/pkgs/awesome/awesome/theme/icons/unfold-less-vertical.svg b/src/theme/icons/unfold-less-vertical.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/unfold-less-vertical.svg rename to src/theme/icons/unfold-less-vertical.svg diff --git a/pkgs/awesome/awesome/theme/icons/upload.svg b/src/theme/icons/upload.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/upload.svg rename to src/theme/icons/upload.svg diff --git a/pkgs/awesome/awesome/theme/icons/video.svg b/src/theme/icons/video.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/video.svg rename to src/theme/icons/video.svg diff --git a/pkgs/awesome/awesome/theme/icons/view-grid.svg b/src/theme/icons/view-grid.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/view-grid.svg rename to src/theme/icons/view-grid.svg diff --git a/pkgs/awesome/awesome/theme/icons/volume.svg b/src/theme/icons/volume.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/volume.svg rename to src/theme/icons/volume.svg diff --git a/pkgs/awesome/awesome/theme/icons/water-thermometer.svg b/src/theme/icons/water-thermometer.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/water-thermometer.svg rename to src/theme/icons/water-thermometer.svg diff --git a/pkgs/awesome/awesome/theme/icons/weather-pouring.svg b/src/theme/icons/weather-pouring.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/weather-pouring.svg rename to src/theme/icons/weather-pouring.svg diff --git a/pkgs/awesome/awesome/theme/icons/weather-rainy.svg b/src/theme/icons/weather-rainy.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/weather-rainy.svg rename to src/theme/icons/weather-rainy.svg diff --git a/pkgs/awesome/awesome/theme/icons/web.svg b/src/theme/icons/web.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/web.svg rename to src/theme/icons/web.svg diff --git a/pkgs/awesome/awesome/theme/icons/window-close.svg b/src/theme/icons/window-close.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/window-close.svg rename to src/theme/icons/window-close.svg diff --git a/pkgs/awesome/awesome/theme/icons/window-maximize.svg b/src/theme/icons/window-maximize.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/window-maximize.svg rename to src/theme/icons/window-maximize.svg diff --git a/pkgs/awesome/awesome/theme/icons/window-minimize.svg b/src/theme/icons/window-minimize.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/window-minimize.svg rename to src/theme/icons/window-minimize.svg diff --git a/pkgs/awesome/awesome/theme/init.lua b/src/theme/init.lua similarity index 100% rename from pkgs/awesome/awesome/theme/init.lua rename to src/theme/init.lua diff --git a/pkgs/awesome/awesome/ui/init.lua b/src/ui/init.lua similarity index 100% rename from pkgs/awesome/awesome/ui/init.lua rename to src/ui/init.lua diff --git a/pkgs/awesome/awesome/ui/notification/init.lua b/src/ui/notification/init.lua similarity index 100% rename from pkgs/awesome/awesome/ui/notification/init.lua rename to src/ui/notification/init.lua diff --git a/pkgs/awesome/awesome/ui/notification/normal.lua b/src/ui/notification/normal.lua similarity index 100% rename from pkgs/awesome/awesome/ui/notification/normal.lua rename to src/ui/notification/normal.lua diff --git a/pkgs/awesome/awesome/ui/titlebar/init.lua b/src/ui/titlebar/init.lua similarity index 100% rename from pkgs/awesome/awesome/ui/titlebar/init.lua rename to src/ui/titlebar/init.lua diff --git a/pkgs/awesome/awesome/ui/titlebar/normal.lua b/src/ui/titlebar/normal.lua similarity index 100% rename from pkgs/awesome/awesome/ui/titlebar/normal.lua rename to src/ui/titlebar/normal.lua diff --git a/pkgs/awesome/awesome/ui/wibar/init.lua b/src/ui/wibar/init.lua similarity index 100% rename from pkgs/awesome/awesome/ui/wibar/init.lua rename to src/ui/wibar/init.lua diff --git a/pkgs/awesome/awesome/ui/wibar/module/battery.lua b/src/ui/wibar/module/battery.lua similarity index 100% rename from pkgs/awesome/awesome/ui/wibar/module/battery.lua rename to src/ui/wibar/module/battery.lua diff --git a/pkgs/awesome/awesome/ui/wibar/module/gpu.lua b/src/ui/wibar/module/gpu.lua similarity index 100% rename from pkgs/awesome/awesome/ui/wibar/module/gpu.lua rename to src/ui/wibar/module/gpu.lua diff --git a/pkgs/awesome/awesome/ui/wibar/module/init.lua b/src/ui/wibar/module/init.lua similarity index 100% rename from pkgs/awesome/awesome/ui/wibar/module/init.lua rename to src/ui/wibar/module/init.lua diff --git a/pkgs/awesome/awesome/ui/wibar/module/launcher.lua b/src/ui/wibar/module/launcher.lua similarity index 100% rename from pkgs/awesome/awesome/ui/wibar/module/launcher.lua rename to src/ui/wibar/module/launcher.lua diff --git a/pkgs/awesome/awesome/ui/wibar/module/layoutbox.lua b/src/ui/wibar/module/layoutbox.lua similarity index 100% rename from pkgs/awesome/awesome/ui/wibar/module/layoutbox.lua rename to src/ui/wibar/module/layoutbox.lua diff --git a/pkgs/awesome/awesome/ui/wibar/module/profile.lua b/src/ui/wibar/module/profile.lua similarity index 100% rename from pkgs/awesome/awesome/ui/wibar/module/profile.lua rename to src/ui/wibar/module/profile.lua diff --git a/pkgs/awesome/awesome/ui/wibar/module/stats.lua b/src/ui/wibar/module/stats.lua similarity index 100% rename from pkgs/awesome/awesome/ui/wibar/module/stats.lua rename to src/ui/wibar/module/stats.lua diff --git a/pkgs/awesome/awesome/ui/wibar/module/systray.lua b/src/ui/wibar/module/systray.lua similarity index 100% rename from pkgs/awesome/awesome/ui/wibar/module/systray.lua rename to src/ui/wibar/module/systray.lua diff --git a/pkgs/awesome/awesome/ui/wibar/module/taglist.lua b/src/ui/wibar/module/taglist.lua similarity index 100% rename from pkgs/awesome/awesome/ui/wibar/module/taglist.lua rename to src/ui/wibar/module/taglist.lua diff --git a/pkgs/awesome/awesome/ui/wibar/module/tailscale.lua b/src/ui/wibar/module/tailscale.lua similarity index 100% rename from pkgs/awesome/awesome/ui/wibar/module/tailscale.lua rename to src/ui/wibar/module/tailscale.lua diff --git a/pkgs/awesome/awesome/ui/wibar/module/tasklist.lua b/src/ui/wibar/module/tasklist.lua similarity index 100% rename from pkgs/awesome/awesome/ui/wibar/module/tasklist.lua rename to src/ui/wibar/module/tasklist.lua