Compare commits

...

5 Commits

Author SHA1 Message Date
bbbd1a58ac flake-parts: rename lib' to conf
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2024-05-27 20:07:28 +05:30
a4ead48326 hosts/xorg: get rid of rename warning
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2024-05-27 20:01:02 +05:30
dbf781407c hosts/okina: init
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2024-05-27 19:57:56 +05:30
854d9ec093 satori: get rid of rename warning
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2024-05-27 19:56:42 +05:30
08fdf5f3af hosts: rearrange modules a bit
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2024-05-27 19:50:20 +05:30
42 changed files with 583 additions and 426 deletions

View File

@@ -4,7 +4,7 @@
_module.args = { _module.args = {
inherit inputs self; inherit inputs self;
flake = self; flake = self;
lib' = { conf = {
colors = import ./colors.nix; colors = import ./colors.nix;
network = import ./network.nix; network = import ./network.nix;
}; };

486
flake.lock generated
View File

@@ -8,11 +8,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1708104794, "lastModified": 1716664326,
"narHash": "sha256-Eq0MFpezo1lmP7sTVffHAvgOjjRFf4Eybllu1z2XZp0=", "narHash": "sha256-L7MeDg9Q6Si2Rwxe++BoNdldX9Os/DzqoqGDJod0qyk=",
"owner": "ezKEa", "owner": "ezKEa",
"repo": "aagl-gtk-on-nix", "repo": "aagl-gtk-on-nix",
"rev": "b562d6df3eb34aa2bbb1bd894d26872ef5b7225e", "rev": "347a50c615c45b3c89c41e774736861b7b41cf71",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -65,11 +65,11 @@
"nixpkgs-stable": "nixpkgs-stable" "nixpkgs-stable": "nixpkgs-stable"
}, },
"locked": { "locked": {
"lastModified": 1708851887, "lastModified": 1716800073,
"narHash": "sha256-gMzpMV8sYuhuPniw/Yef7Sx0MOkP/QGCblm3CRI24EQ=", "narHash": "sha256-ZznQFA/Mjomt1phpfwVFtp3F2b6yvlyslmjJ6bgBB5w=",
"owner": "nix-community", "owner": "nix-community",
"repo": "emacs-overlay", "repo": "emacs-overlay",
"rev": "42b8b4a59edbd70550ebc96e95c9258dbdefd753", "rev": "165e4bc50493e402cf296c413edb479b04aeb339",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -134,11 +134,11 @@
"flake-compat_3": { "flake-compat_3": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1668681692, "lastModified": 1696426674,
"narHash": "sha256-Ht91NGdewz8IQLtWZ9LCeNXMSXHUss+9COoqu6JLmXU=", "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra", "owner": "edolstra",
"repo": "flake-compat", "repo": "flake-compat",
"rev": "009399224d5e398d03b22badca40a37ac85412a1", "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -163,16 +163,32 @@
"type": "github" "type": "github"
} }
}, },
"flake-compat_5": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-parts": { "flake-parts": {
"inputs": { "inputs": {
"nixpkgs-lib": "nixpkgs-lib" "nixpkgs-lib": "nixpkgs-lib"
}, },
"locked": { "locked": {
"lastModified": 1706830856, "lastModified": 1715865404,
"narHash": "sha256-a0NYyp+h9hlb7ddVz4LUn1vT/PLwqfrWYcHMvFB1xYg=", "narHash": "sha256-/GJvTdTpuDjNn84j82cU6bXztE0MSkdnTWClUCRub78=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "b253292d9c0a5ead9bc98c4e9a26c6312e27d69f", "rev": "8dc45382d5206bd292f9c2768b8058a8fd8311d9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -186,11 +202,11 @@
"nixpkgs-lib": "nixpkgs-lib_2" "nixpkgs-lib": "nixpkgs-lib_2"
}, },
"locked": { "locked": {
"lastModified": 1706830856, "lastModified": 1715865404,
"narHash": "sha256-a0NYyp+h9hlb7ddVz4LUn1vT/PLwqfrWYcHMvFB1xYg=", "narHash": "sha256-/GJvTdTpuDjNn84j82cU6bXztE0MSkdnTWClUCRub78=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "b253292d9c0a5ead9bc98c4e9a26c6312e27d69f", "rev": "8dc45382d5206bd292f9c2768b8058a8fd8311d9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -207,11 +223,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1706830856, "lastModified": 1715865404,
"narHash": "sha256-a0NYyp+h9hlb7ddVz4LUn1vT/PLwqfrWYcHMvFB1xYg=", "narHash": "sha256-/GJvTdTpuDjNn84j82cU6bXztE0MSkdnTWClUCRub78=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "b253292d9c0a5ead9bc98c4e9a26c6312e27d69f", "rev": "8dc45382d5206bd292f9c2768b8058a8fd8311d9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -229,11 +245,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1701473968, "lastModified": 1712014858,
"narHash": "sha256-YcVE5emp1qQ8ieHUnxt1wCZCC3ZfAS+SRRWZ2TMda7E=", "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "34fed993f1674c8d06d58b37ce1e0fe5eebcb9f5", "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -246,11 +262,11 @@
"systems": "systems" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1705309234, "lastModified": 1710146030,
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -289,39 +305,25 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils_4": { "gitignore": {
"inputs": { "inputs": {
"systems": "systems_4" "nixpkgs": [
"nvim-overlay",
"pre-commit-hooks",
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1701680307, "lastModified": 1709087332,
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "numtide", "owner": "hercules-ci",
"repo": "flake-utils", "repo": "gitignore.nix",
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725", "rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "numtide", "owner": "hercules-ci",
"repo": "flake-utils", "repo": "gitignore.nix",
"type": "github"
}
},
"flake-utils_5": {
"inputs": {
"systems": "systems_5"
},
"locked": {
"lastModified": 1705309234,
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github" "type": "github"
} }
}, },
@@ -334,11 +336,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1708547820, "lastModified": 1713898448,
"narHash": "sha256-xU/KC1PWqq5zL9dQ9wYhcdgxAwdeF/dJCLPH3PNZEBg=", "narHash": "sha256-6q6ojsp/Z9P2goqnxyfCSzFOD92T3Uobmj8oVAicUOs=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "hercules-ci-effects", "repo": "hercules-ci-effects",
"rev": "0ca27bd58e4d5be3135a4bef66b582e57abe8f4a", "rev": "c0302ec12d569532a6b6bd218f698bc402e93adc",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -354,11 +356,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1708806879, "lastModified": 1716736760,
"narHash": "sha256-MSbxtF3RThI8ANs/G4o1zIqF5/XlShHvwjl9Ws0QAbI=", "narHash": "sha256-h3RmnNknKYtVA+EvUSra6QAwfZjC2q1G8YA7W0gat8Y=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "4ee704cb13a5a7645436f400b9acc89a67b9c08a", "rev": "5d151429e1e79107acf6d06dcc5ace4e642ec239",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -367,39 +369,70 @@
"type": "github" "type": "github"
} }
}, },
"hyprland": { "hyprcursor": {
"inputs": { "inputs": {
"hyprland-protocols": "hyprland-protocols", "hyprlang": [
"hyprlang": "hyprlang", "hyprland",
"nixpkgs": "nixpkgs_5", "hyprlang"
"systems": "systems_2", ],
"wlroots": "wlroots", "nixpkgs": [
"xdph": "xdph" "hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
}, },
"locked": { "locked": {
"lastModified": 1708817736, "lastModified": 1716576411,
"narHash": "sha256-GZEoru+4uNIGEZ8j1TPaxZwM+ApIngHU/iX3sIGgUO4=", "narHash": "sha256-FIN1wMoyePBTtibCbaeJaoKNLuAYIGwLCWAYC1DJanw=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "Hyprland", "repo": "hyprcursor",
"rev": "f534ac3fc462d8af923d2a1ab8ef58f62639a1ea", "rev": "57298fc4f13c807e50ada2c986a3114b7fc2e621",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "hyprwm", "owner": "hyprwm",
"repo": "Hyprland", "repo": "hyprcursor",
"type": "github" "type": "github"
} }
}, },
"hyprland": {
"inputs": {
"hyprcursor": "hyprcursor",
"hyprlang": "hyprlang",
"hyprwayland-scanner": "hyprwayland-scanner",
"nixpkgs": "nixpkgs_5",
"systems": "systems_2",
"xdph": "xdph"
},
"locked": {
"lastModified": 1716801877,
"narHash": "sha256-vfMb7opO2xva0jt/UwMGlyjK4DB73SWxus4Oryww+C8=",
"ref": "refs/heads/main",
"rev": "db5d39a66f1285f78321d953eac398feaedfc63d",
"revCount": 4744,
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland"
},
"original": {
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland"
}
},
"hyprland-contrib": { "hyprland-contrib": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_6" "nixpkgs": "nixpkgs_6"
}, },
"locked": { "locked": {
"lastModified": 1706198673, "lastModified": 1716228712,
"narHash": "sha256-bHlxFd+3QHy6eXtTzzhwVNcyxBSOxTvBuJGNUzI4C4M=", "narHash": "sha256-y+LOXuSRMfkR2Vfwl5K2NVrszi1h5MJpML+msLnVS8U=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "contrib", "repo": "contrib",
"rev": "16884001b26e6955ff4b88b4dfe4c8986e20f153", "rev": "33b38358559054d316eb605ccb733980dfa7dc63",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -412,10 +445,12 @@
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"hyprland", "hyprland",
"xdph",
"nixpkgs" "nixpkgs"
], ],
"systems": [ "systems": [
"hyprland", "hyprland",
"xdph",
"systems" "systems"
] ]
}, },
@@ -445,11 +480,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1708681732, "lastModified": 1716473782,
"narHash": "sha256-ULZZLZ9C33G13IaXLuAc4oTzHUvnATI8Fj2u6gzMfT0=", "narHash": "sha256-+qLn4lsHU6iL3+HTo1gTQ1tWzet8K9h+IfVemzEQZj8=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprlang", "repo": "hyprlang",
"rev": "f4466367ef0a92a6425d482050dc2b8840c0e644", "rev": "87d5d984109c839482b88b4795db073eb9ed446f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -458,6 +493,31 @@
"type": "github" "type": "github"
} }
}, },
"hyprwayland-scanner": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1716058375,
"narHash": "sha256-CwjWoVnBZE5SBpRx9dgSQGCr4Goxyfcyv3zZbOhVqzk=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "3afed4364790aebe0426077631af1e164a9650cc",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"type": "github"
}
},
"mailserver": { "mailserver": {
"inputs": { "inputs": {
"blobs": "blobs", "blobs": "blobs",
@@ -465,16 +525,14 @@
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"nixpkgs-23_05": "nixpkgs-23_05",
"nixpkgs-23_11": "nixpkgs-23_11",
"utils": "utils_2" "utils": "utils_2"
}, },
"locked": { "locked": {
"lastModified": 1706742486, "lastModified": 1714720456,
"narHash": "sha256-sv/MISTeD0rqeVivpZJpynboMWJp6i62OmrZX1rGl38=", "narHash": "sha256-e0WFe1BHqX23ADpGBc4ZRu38Mg+GICCZCqyS6EWCbHc=",
"owner": "simple-nixos-mailserver", "owner": "simple-nixos-mailserver",
"repo": "nixos-mailserver", "repo": "nixos-mailserver",
"rev": "9e36323ae3dde787f761420465c3ae560f3dbf29", "rev": "41059fc548088e49e3ddb3a2b4faeb5de018e60f",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
@@ -491,11 +549,11 @@
"utils": "utils_3" "utils": "utils_3"
}, },
"locked": { "locked": {
"lastModified": 1708852221, "lastModified": 1712156216,
"narHash": "sha256-peS0e21QloCaVI8cI2njb8wP4cZJ3/O1HWZdltM8xrg=", "narHash": "sha256-zaJbaifCf632ZAK+0cVEkAlG6YU/IEwh2Uhn8tbNUFY=",
"owner": "nbfc-linux", "owner": "nbfc-linux",
"repo": "nbfc-linux", "repo": "nbfc-linux",
"rev": "4310b4e994f2575a75dfb599305a0e13cd0bf978", "rev": "9499e16a83547306590ef3d618c45a75f9a852d0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -504,25 +562,17 @@
"type": "github" "type": "github"
} }
}, },
"neovim-flake": { "neovim-src": {
"inputs": { "flake": false,
"flake-utils": "flake-utils_4",
"nixpkgs": [
"nvim-overlay",
"nixpkgs"
]
},
"locked": { "locked": {
"dir": "contrib", "lastModified": 1716642936,
"lastModified": 1708818534, "narHash": "sha256-l53vGzYIy6tI1rYBlbxW502sDgpmZ4i/uTdWWtPKPtM=",
"narHash": "sha256-f6kdXBRoQMyW3ffViEK8elYdcciUhNoY9JN9MOJaUBE=",
"owner": "neovim", "owner": "neovim",
"repo": "neovim", "repo": "neovim",
"rev": "091e374c7f4886ef875e801ae0473b88f6caefe2", "rev": "52389e724366ebb2fb58f08c657f580900dd09ee",
"type": "github" "type": "github"
}, },
"original": { "original": {
"dir": "contrib",
"owner": "neovim", "owner": "neovim",
"repo": "neovim", "repo": "neovim",
"type": "github" "type": "github"
@@ -534,11 +584,11 @@
"nixpkgs": "nixpkgs_7" "nixpkgs": "nixpkgs_7"
}, },
"locked": { "locked": {
"lastModified": 1708823436, "lastModified": 1716686274,
"narHash": "sha256-c1eR4YGVrN+K/SFflfELzPvo4MW7SvNT1z4yzSVs95I=", "narHash": "sha256-4JiRUWtoEMrfq38jG4O+NP6rcQIhKxEclnSkHvywnf0=",
"owner": "fufexan", "owner": "fufexan",
"repo": "nix-gaming", "repo": "nix-gaming",
"rev": "8cc3a38288a632c423033a712c91e7acaf3207e4", "rev": "83a47c12d3493f7eb876250d0298d1566a965ce4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -549,11 +599,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1708655239, "lastModified": 1716509168,
"narHash": "sha256-ZrP/yACUvDB+zbqYJsln4iwotbH6CTZiTkANJ0AgDv4=", "narHash": "sha256-4zSIhSRRIoEBwjbPm3YiGtbd8HDWzFxJjw5DYSDy1n8=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "cbc4211f0afffe6dfd2478a62615dd5175a13f9a", "rev": "bfb7a882678e518398ce9a31a881538679f6f092",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -563,79 +613,37 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-23_05": {
"locked": {
"lastModified": 1704290814,
"narHash": "sha256-LWvKHp7kGxk/GEtlrGYV68qIvPHkU9iToomNFGagixU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "70bdadeb94ffc8806c0570eb5c2695ad29f0e421",
"type": "github"
},
"original": {
"id": "nixpkgs",
"ref": "nixos-23.05",
"type": "indirect"
}
},
"nixpkgs-23_11": {
"locked": {
"lastModified": 1706098335,
"narHash": "sha256-r3dWjT8P9/Ah5m5ul4WqIWD8muj5F+/gbCdjiNVBKmU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a77ab169a83a4175169d78684ddd2e54486ac651",
"type": "github"
},
"original": {
"id": "nixpkgs",
"ref": "nixos-23.11",
"type": "indirect"
}
},
"nixpkgs-lib": { "nixpkgs-lib": {
"locked": { "locked": {
"dir": "lib", "lastModified": 1714640452,
"lastModified": 1706550542, "narHash": "sha256-QBx10+k6JWz6u7VsohfSw8g8hjdBZEf8CFzXH1/1Z94=",
"narHash": "sha256-UcsnCG6wx++23yeER4Hg18CXWbgNpqNXcHIo5/1Y+hc=", "type": "tarball",
"owner": "NixOS", "url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz"
"repo": "nixpkgs",
"rev": "97b17f32362e475016f942bbdfda4a4a72a8a652",
"type": "github"
}, },
"original": { "original": {
"dir": "lib", "type": "tarball",
"owner": "NixOS", "url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz"
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
} }
}, },
"nixpkgs-lib_2": { "nixpkgs-lib_2": {
"locked": { "locked": {
"dir": "lib", "lastModified": 1714640452,
"lastModified": 1706550542, "narHash": "sha256-QBx10+k6JWz6u7VsohfSw8g8hjdBZEf8CFzXH1/1Z94=",
"narHash": "sha256-UcsnCG6wx++23yeER4Hg18CXWbgNpqNXcHIo5/1Y+hc=", "type": "tarball",
"owner": "NixOS", "url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz"
"repo": "nixpkgs",
"rev": "97b17f32362e475016f942bbdfda4a4a72a8a652",
"type": "github"
}, },
"original": { "original": {
"dir": "lib", "type": "tarball",
"owner": "NixOS", "url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz"
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
} }
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1708702655, "lastModified": 1716633019,
"narHash": "sha256-qxT5jSLhelfLhQ07+AUxSTm1VnVH+hQxDkQSZ/m/Smo=", "narHash": "sha256-xim1b5/HZYbWaZKyI7cn9TJCM6ewNVZnesRr00mXeS4=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "c5101e457206dd437330d283d6626944e28794b3", "rev": "9d29cd266cebf80234c98dd0b87256b6be0af44e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -695,11 +703,11 @@
}, },
"nixpkgs_5": { "nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1708475490, "lastModified": 1716330097,
"narHash": "sha256-g1v0TsWBQPX97ziznfJdWhgMyMGtoBFs102xSYO4syU=", "narHash": "sha256-8BO3B7e3BiyIDsaKA0tY8O88rClYRTjvAp66y+VBUeU=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "0e74ca98a74bc7270d28838369593635a5db3260", "rev": "5710852ba686cc1fd0d3b8e22b3117d43ba374c2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -711,11 +719,11 @@
}, },
"nixpkgs_6": { "nixpkgs_6": {
"locked": { "locked": {
"lastModified": 1658161305, "lastModified": 1712163089,
"narHash": "sha256-X/nhnMCa1Wx4YapsspyAs6QYz6T/85FofrI6NpdPDHg=", "narHash": "sha256-Um+8kTIrC19vD4/lUCN9/cU9kcOsD1O1m+axJqQPyMM=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e4d49de45a3b5dbcb881656b4e3986e666141ea9", "rev": "fd281bd6b7d3e32ddfa399853946f782553163b5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -727,11 +735,11 @@
}, },
"nixpkgs_7": { "nixpkgs_7": {
"locked": { "locked": {
"lastModified": 1708751719, "lastModified": 1716619601,
"narHash": "sha256-0uWOKSpXJXmXswOvDM5Vk3blB74apFB6rNGWV5IjoN0=", "narHash": "sha256-9dUxZf8MOqJH3vjbhrz7LH4qTcnRsPSBU1Q50T7q/X8=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "f63ce824cd2f036216eb5f637dfef31e1a03ee89", "rev": "47e03a624662ce399e55c45a5f6da698fc72c797",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -743,11 +751,11 @@
}, },
"nixpkgs_8": { "nixpkgs_8": {
"locked": { "locked": {
"lastModified": 1708751719, "lastModified": 1716715802,
"narHash": "sha256-0uWOKSpXJXmXswOvDM5Vk3blB74apFB6rNGWV5IjoN0=", "narHash": "sha256-usk0vE7VlxPX8jOavrtpOqphdfqEQpf9lgedlY/r66c=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "f63ce824cd2f036216eb5f637dfef31e1a03ee89", "rev": "e2dd4e18cc1c7314e24154331bae07df76eb582f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -759,11 +767,11 @@
}, },
"nixpkgs_9": { "nixpkgs_9": {
"locked": { "locked": {
"lastModified": 1708751719, "lastModified": 1716588411,
"narHash": "sha256-0uWOKSpXJXmXswOvDM5Vk3blB74apFB6rNGWV5IjoN0=", "narHash": "sha256-CdAZ3o459+1mAgILcdJfMBQAwUXupVe2cVTknvxs5kQ=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "f63ce824cd2f036216eb5f637dfef31e1a03ee89", "rev": "1a9df4f74273f90d04e621e8516777efcec2802a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -778,15 +786,16 @@
"flake-compat": "flake-compat_4", "flake-compat": "flake-compat_4",
"flake-parts": "flake-parts_3", "flake-parts": "flake-parts_3",
"hercules-ci-effects": "hercules-ci-effects", "hercules-ci-effects": "hercules-ci-effects",
"neovim-flake": "neovim-flake", "neovim-src": "neovim-src",
"nixpkgs": "nixpkgs_9" "nixpkgs": "nixpkgs_9",
"pre-commit-hooks": "pre-commit-hooks"
}, },
"locked": { "locked": {
"lastModified": 1708819468, "lastModified": 1716760058,
"narHash": "sha256-TZB6DyO7+9WaLfhcp1/vwqucmkPTp42oJ7ObgUMrX8E=", "narHash": "sha256-5fMMNezTARjbc8HgEkvcOazlrsBBzlKSMVp56xTCY2g=",
"owner": "nix-community", "owner": "nix-community",
"repo": "neovim-nightly-overlay", "repo": "neovim-nightly-overlay",
"rev": "392a5933e6322fe8cddea0ecccb36e89283df08e", "rev": "0c1fc48841eda5e35402327b1a71f4bb034a012c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -795,6 +804,33 @@
"type": "github" "type": "github"
} }
}, },
"pre-commit-hooks": {
"inputs": {
"flake-compat": "flake-compat_5",
"gitignore": "gitignore",
"nixpkgs": [
"nvim-overlay",
"nixpkgs"
],
"nixpkgs-stable": [
"nvim-overlay",
"nixpkgs"
]
},
"locked": {
"lastModified": 1716213921,
"narHash": "sha256-xrsYFST8ij4QWaV6HEokCUNIZLjjLP1bYC60K8XiBVA=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "0e8fcc54b842ad8428c9e705cb5994eaf05c26a0",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"root": { "root": {
"inputs": { "inputs": {
"aagl-gtk": "aagl-gtk", "aagl-gtk": "aagl-gtk",
@@ -809,7 +845,6 @@
"nix-gaming": "nix-gaming", "nix-gaming": "nix-gaming",
"nixpkgs": "nixpkgs_8", "nixpkgs": "nixpkgs_8",
"nvim-overlay": "nvim-overlay", "nvim-overlay": "nvim-overlay",
"rust-overlay": "rust-overlay_3",
"stable": "stable" "stable": "stable"
} }
}, },
@@ -859,39 +894,18 @@
"type": "github" "type": "github"
} }
}, },
"rust-overlay_3": {
"inputs": {
"flake-utils": "flake-utils_5",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1708827164,
"narHash": "sha256-oBNS6pO04Y6gZBLThP3JDDgviex0+WTXz3bVBenyzms=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "e0626adabd5ea461f80b1b11390da2a6575adb30",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
}
},
"stable": { "stable": {
"locked": { "locked": {
"lastModified": 1688392541, "lastModified": 1716795920,
"narHash": "sha256-lHrKvEkCPTUO+7tPfjIcb7Trk6k31rz18vkyqmkeJfY=", "narHash": "sha256-rVILUKoMmEDIXN3b3Oci9pdSDAK52NPbzxwndkpsmkc=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b", "rev": "70e5ed1d3185d9962646c86496eee88788ffb2f4",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "nixos",
"ref": "release-22.11", "ref": "release-23.11",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
@@ -956,21 +970,6 @@
"type": "github" "type": "github"
} }
}, },
"systems_5": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"utils": { "utils": {
"locked": { "locked": {
"lastModified": 1667077288, "lastModified": 1667077288,
@@ -987,12 +986,15 @@
} }
}, },
"utils_2": { "utils_2": {
"inputs": {
"systems": "systems_3"
},
"locked": { "locked": {
"lastModified": 1605370193, "lastModified": 1709126324,
"narHash": "sha256-YyMTf3URDL/otKdKgtoMChu4vfVL3vCMkRqpGifhUn0=", "narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "5021eac20303a61fafe17224c087f5519baed54d", "rev": "d465f4819400de7c8d874d50b982301f28a84605",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1003,14 +1005,14 @@
}, },
"utils_3": { "utils_3": {
"inputs": { "inputs": {
"systems": "systems_3" "systems": "systems_4"
}, },
"locked": { "locked": {
"lastModified": 1681202837, "lastModified": 1710146030,
"narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=", "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "cfacdce06f30d2b68473a46042957675eebb3401", "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1019,31 +1021,9 @@
"type": "github" "type": "github"
} }
}, },
"wlroots": {
"flake": false,
"locked": {
"host": "gitlab.freedesktop.org",
"lastModified": 1708558866,
"narHash": "sha256-Mz6hCtommq7RQfcPnxLINigO4RYSNt23HeJHC6mVmWI=",
"owner": "wlroots",
"repo": "wlroots",
"rev": "0cb091f1a2d345f37d2ee445f4ffd04f7f4ec9e5",
"type": "gitlab"
},
"original": {
"host": "gitlab.freedesktop.org",
"owner": "wlroots",
"repo": "wlroots",
"rev": "0cb091f1a2d345f37d2ee445f4ffd04f7f4ec9e5",
"type": "gitlab"
}
},
"xdph": { "xdph": {
"inputs": { "inputs": {
"hyprland-protocols": [ "hyprland-protocols": "hyprland-protocols",
"hyprland",
"hyprland-protocols"
],
"hyprlang": [ "hyprlang": [
"hyprland", "hyprland",
"hyprlang" "hyprlang"
@@ -1058,11 +1038,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1708696469, "lastModified": 1716290197,
"narHash": "sha256-shh5wmpeYy3MmsBfkm4f76yPsBDGk6OLYRVG+ARy2F0=", "narHash": "sha256-1u9Exrc7yx9qtES2brDh7/DDZ8w8ap1nboIOAtCgeuM=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland", "repo": "xdg-desktop-portal-hyprland",
"rev": "1b713911c2f12b96c2574474686e4027ac4bf826", "rev": "91e48d6acd8a5a611d26f925e51559ab743bc438",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -3,7 +3,7 @@
inputs = { inputs = {
nixpkgs.url = github:nixos/nixpkgs/nixpkgs-unstable; nixpkgs.url = github:nixos/nixpkgs/nixpkgs-unstable;
stable.url = github:nixos/nixpkgs/release-22.11; stable.url = github:nixos/nixpkgs/release-23.11;
flake-parts.url = github:hercules-ci/flake-parts; flake-parts.url = github:hercules-ci/flake-parts;
home-manager = { home-manager = {
url = github:nix-community/home-manager; url = github:nix-community/home-manager;
@@ -13,10 +13,6 @@
url = gitlab:simple-nixos-mailserver/nixos-mailserver; url = gitlab:simple-nixos-mailserver/nixos-mailserver;
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
rust-overlay = {
url = github:oxalica/rust-overlay;
inputs.nixpkgs.follows = "nixpkgs";
};
filehost = { filehost = {
url = github:natto1784/simpler-filehost; url = github:natto1784/simpler-filehost;
# inputs.nixpkgs.follows = "nixpkgs"; # inputs.nixpkgs.follows = "nixpkgs";
@@ -32,8 +28,10 @@
# inputs.nixpkgs.url = github:nixos/nixpkgs?rev=fad51abd42ca17a60fc1d4cb9382e2d79ae31836; # inputs.nixpkgs.url = github:nixos/nixpkgs?rev=fad51abd42ca17a60fc1d4cb9382e2d79ae31836;
}; };
hyprland = { hyprland = {
url = github:hyprwm/Hyprland; type = "git";
#inputs.nixpkgs.follows = "nixpkgs"; url = "https://github.com/hyprwm/Hyprland";
submodules = true;
# inputs.nixpkgs.follows = "nixpkgs";
}; };
hyprland-contrib = { hyprland-contrib = {
url = github:hyprwm/contrib; url = github:hyprwm/contrib;
@@ -53,30 +51,17 @@
./hosts ./hosts
./home ./home
./pkgs ./pkgs
./lib ./conf
]; ];
perSystem = { system, ... }: perSystem = { system, pkgs, ... }:
let {
pkgs = import inputs.nixpkgs { formatter = pkgs.nixpkgs-fmt;
inherit system; devShells.default = with pkgs; mkShell {
config = { packages = [
allowUnfree = true; nixd
allowBroken = true;
allowInsecure = true;
};
overlays = [
inputs.nvim-overlay.overlay
inputs.emacs-overlay.overlay
inputs.rust-overlay.overlays.default
]; ];
}; };
in
{
legacyPackages = pkgs;
_module.args.pkgs = pkgs;
formatter = pkgs.nixpkgs-fmt;
}; };
}; };
} }

View File

@@ -1,10 +1,10 @@
{ config, lib', ... }: { config, conf, ... }:
{ {
services = { services = {
dunst = { dunst = {
enable = true; enable = true;
iconTheme = with config.gtk.iconTheme; { inherit name package; }; iconTheme = with config.gtk.iconTheme; { inherit name package; };
settings = with lib'.colors.hex; { settings = with conf.colors.hex; {
global = { global = {
mouse_left_click = "close_current"; mouse_left_click = "close_current";
mouse_right_click = "do_action"; mouse_right_click = "do_action";

View File

@@ -1,4 +1,4 @@
{ pkgs, config, lib', ... }: { pkgs, config, conf, ... }:
{ {
programs = { programs = {
firefox = { firefox = {
@@ -34,7 +34,7 @@
font-bold = "Fira Mono:style=Bold:pixelsize=18"; font-bold = "Fira Mono:style=Bold:pixelsize=18";
}; };
scrollback.lines = 4000; scrollback.lines = 4000;
colors = with lib'.colors.default; { colors = with conf.colors.default; {
inherit foreground background; inherit foreground background;
regular0 = surface1; regular0 = surface1;
regular1 = red; regular1 = red;

View File

@@ -1,4 +1,4 @@
{ pkgs, config, lib', inputs, ... }: { pkgs, config, conf, inputs, ... }:
{ {
wayland = { wayland = {
windowManager = { windowManager = {
@@ -14,7 +14,7 @@
+ (with config.home.pointerCursor; '' + (with config.home.pointerCursor; ''
exec-once=hyprctl setcursor ${name} ${toString size} exec-once=hyprctl setcursor ${name} ${toString size}
'') '')
+ (with lib'.colors.argb { a = "ee"; };'' + (with conf.colors.argb { a = "ee"; };''
general { general {
col.active_border = 0x${mauve} 0x${flamingo} 135deg col.active_border = 0x${mauve} 0x${flamingo} 135deg
col.inactive_border = 0x${surface0} col.inactive_border = 0x${surface0}
@@ -25,7 +25,7 @@
}; };
home.file.tofi = { home.file.tofi = {
source = pkgs.writeText "tofi-config" (pkgs.lib.generators.toKeyValue { } (with lib'.colors.default; { source = pkgs.writeText "tofi-config" (pkgs.lib.generators.toKeyValue { } (with conf.colors.default; {
# https://github.com/philj56/tofi/blob/master/themes/fullscreen # https://github.com/philj56/tofi/blob/master/themes/fullscreen
width = "100%"; width = "100%";
height = "100%"; height = "100%";

View File

@@ -1,4 +1,5 @@
+ satori is my home laptop + okina is my home desktop
+ satori is my almost trashed laptop
+ marisa is my Raspberry Pi 4 (B) + marisa is my Raspberry Pi 4 (B)
+ remilia is my cloud VM + remilia is my cloud VM
+ hina is another cloud VM I use for ZNC + hina is another cloud VM I use for ZNC

View File

@@ -3,26 +3,37 @@ let
inherit (inputs) nixpkgs; inherit (inputs) nixpkgs;
commonModules = [ commonModules = [
./modules/nvim ./nvim
globalArgs globalArgs
]; ];
personalModules = [ desktopModules = [
./modules/xorg.nix ./xorg.nix
./modules/wayland.nix ./wayland.nix
./modules/nix.nix ./nix.nix
./desktop-pkgs.nix
./sound.nix
]; ];
serverModules = [ ./modules/minimal.nix ]; serverModules = [ ./modules/minimal.nix ];
in in
{ {
flake.nixosConfigurations = { flake.nixosConfigurations = {
# Desktop
okina = nixpkgs.lib.nixosSystem rec {
system = "x86_64-linux";
modules = [
./okina
]
++ desktopModules
++ commonModules;
};
#Home laptop #Home laptop
satori = nixpkgs.lib.nixosSystem rec { satori = nixpkgs.lib.nixosSystem rec {
system = "x86_64-linux"; system = "x86_64-linux";
modules = [ modules = [
./satori ./satori
{ nixpkgs.pkgs = self.legacyPackages.${system}; }
] ]
++ personalModules ++ desktopModules
++ commonModules; ++ commonModules;
}; };
@@ -31,7 +42,6 @@ in
system = "aarch64-linux"; system = "aarch64-linux";
modules = [ modules = [
./marisa ./marisa
{ nixpkgs.pkgs = self.legacyPackages.${system}; }
] ]
++ commonModules ++ commonModules
++ serverModules; ++ serverModules;
@@ -44,7 +54,6 @@ in
./remilia ./remilia
./modules/x86builder.nix ./modules/x86builder.nix
inputs.mailserver.nixosModules.mailserver inputs.mailserver.nixosModules.mailserver
{ nixpkgs.pkgs = self.legacyPackages.${system}; }
] ]
++ commonModules ++ commonModules
++ serverModules; ++ serverModules;
@@ -56,7 +65,6 @@ in
modules = [ modules = [
./hina ./hina
./modules/x86builder.nix ./modules/x86builder.nix
{ nixpkgs.pkgs = self.legacyPackages.${system}; }
] ]
++ commonModules ++ commonModules
++ serverModules; ++ serverModules;

View File

@@ -14,12 +14,26 @@
ripgrep ripgrep
kbd kbd
gcc gcc
rnix-lsp
vulkan-tools vulkan-tools
vulkan-headers vulkan-headers
jq jq
dconf dconf
inputs.nbfc.packages.${pkgs.system}.nbfc ];
fonts.packages = with pkgs; [
fira-code
fira-mono
monoid
font-awesome
material-icons
material-design-icons
lohit-fonts.devanagari
lohit-fonts.gurmukhi
office-code-pro
eb-garamond
noto-fonts-cjk
takao
liberation_ttf
]; ];
programs = { programs = {
@@ -29,7 +43,6 @@
agent = { agent = {
enableSSHSupport = true; enableSSHSupport = true;
enable = true; enable = true;
pinentryFlavor = "curses";
}; };
}; };
@@ -44,9 +57,7 @@
}; };
}; };
adb.enable = true; adb.enable = true;
light.enable = true;
gamemode.enable = true; gamemode.enable = true;
}; };
} }

View File

@@ -1,4 +1,4 @@
{ config, pkgs, lib', ... }: { config, pkgs, conf, ... }:
{ {
imports = [ imports = [
./networking.nix ./networking.nix
@@ -14,7 +14,7 @@
shell = pkgs.zsh; shell = pkgs.zsh;
home = "/home/spin"; home = "/home/spin";
extraGroups = [ "wheel" ]; extraGroups = [ "wheel" ];
openssh.authorizedKeys.keys = lib'.network.commonSSHKeys; openssh.authorizedKeys.keys = conf.network.commonSSHKeys;
}; };
programs.zsh.enable = true; programs.zsh.enable = true;

View File

@@ -1,4 +1,4 @@
{ lib, config, lib', pkgs, ... }: { lib, config, conf, pkgs, ... }:
{ {
networking = { networking = {
useDHCP = false; useDHCP = false;
@@ -17,7 +17,7 @@
}; };
}; };
wireguard.interfaces.wg0 = with lib'.network.addresses.wireguard.ips; { wireguard.interfaces.wg0 = with conf.network.addresses.wireguard.ips; {
ips = [ hina ]; ips = [ hina ];
listenPort = 17840; listenPort = 17840;
privateKeyFile = "/var/secrets/wg.key"; privateKeyFile = "/var/secrets/wg.key";
@@ -26,7 +26,7 @@
#Oracle VM1 #Oracle VM1
publicKey = "z0Y2VNEWcyVQVSqRHiwmiJ5/0MgSPM+HZfEcwIccSxM="; publicKey = "z0Y2VNEWcyVQVSqRHiwmiJ5/0MgSPM+HZfEcwIccSxM=";
allowedIPs = [ remilia ]; allowedIPs = [ remilia ];
endpoint = "${lib'.network.addresses.domain.natto}:17840"; endpoint = "${conf.network.addresses.domain.natto}:17840";
persistentKeepalive = 25; persistentKeepalive = 25;
} }
]; ];

View File

@@ -1,6 +1,6 @@
{ config, pkgs, lib, lib', ... }: { config, pkgs, lib, conf, ... }:
let let
domain = lib'.network.addresses.domain.natto; domain = conf.network.addresses.domain.natto;
in in
{ {
services = { services = {
@@ -20,7 +20,7 @@ in
nginx = { nginx = {
enable = true; enable = true;
virtualHosts = with lib'.network.addresses.wireguard.ips; { virtualHosts = with conf.network.addresses.wireguard.ips; {
"znc.${domain}" = { "znc.${domain}" = {
enableACME = true; enableACME = true;
forceSSL = true; forceSSL = true;

View File

@@ -1,4 +1,4 @@
{ config, pkgs, lib', ... }: { config, pkgs, conf, ... }:
{ {
imports = [ imports = [
./networking.nix ./networking.nix
@@ -12,7 +12,7 @@
shell = pkgs.zsh; shell = pkgs.zsh;
home = "/home/spark"; home = "/home/spark";
extraGroups = [ "wheel" ]; extraGroups = [ "wheel" ];
openssh.authorizedKeys.keys = lib'.network.commonSSHKeys; openssh.authorizedKeys.keys = conf.network.commonSSHKeys;
}; };
programs.zsh.enable = true; programs.zsh.enable = true;

View File

@@ -1,4 +1,4 @@
{ config, pkgs, lib', ... }: { config, pkgs, conf, ... }:
{ {
networking = { networking = {
hostName = "marisa"; hostName = "marisa";
@@ -37,7 +37,7 @@
}]; }];
}; };
}; };
wireguard.interfaces.wg0 = with lib'.network.addresses.wireguard.ips; { wireguard.interfaces.wg0 = with conf.network.addresses.wireguard.ips; {
ips = [ marisa ]; ips = [ marisa ];
listenPort = 17840; listenPort = 17840;
privateKeyFile = "/var/secrets/wg.key"; privateKeyFile = "/var/secrets/wg.key";
@@ -46,7 +46,7 @@
#Oracle VM1 #Oracle VM1
publicKey = "z0Y2VNEWcyVQVSqRHiwmiJ5/0MgSPM+HZfEcwIccSxM="; publicKey = "z0Y2VNEWcyVQVSqRHiwmiJ5/0MgSPM+HZfEcwIccSxM=";
allowedIPs = [ remilia ]; allowedIPs = [ remilia ];
endpoint = "${lib'.network.addresses.domain.natto}:17840"; endpoint = "${conf.network.addresses.domain.natto}:17840";
persistentKeepalive = 25; persistentKeepalive = 25;
} }
]; ];

View File

@@ -1,4 +1,4 @@
{ config, pkgs, inputs, lib', ... }: { config, pkgs, inputs, conf, ... }:
{ {
systemd.services.filehost = { systemd.services.filehost = {
enable = true; enable = true;
@@ -7,7 +7,7 @@
Type = "simple"; Type = "simple";
Environment = [ Environment = [
"TITLE=nattofiles" "TITLE=nattofiles"
"USER_URL=https://f.${lib'.network.addresses.domain.natto}" "USER_URL=https://f.${conf.network.addresses.domain.natto}"
"ROCKET_LIMITS={file=\"512MB\",data-form=\"512MB\"}" "ROCKET_LIMITS={file=\"512MB\",data-form=\"512MB\"}"
"ROCKET_LOG_LEVEL=debug" "ROCKET_LOG_LEVEL=debug"
"ROCKET_ADDRESS=0.0.0.0" "ROCKET_ADDRESS=0.0.0.0"

View File

@@ -1,4 +1,4 @@
{ config, pkgs, lib', ... }: { config, pkgs, conf, ... }:
{ {
services = { services = {
gitea = rec { gitea = rec {
@@ -13,7 +13,7 @@
mailerPasswordFile = "/var/secrets/giteamailer.pass"; mailerPasswordFile = "/var/secrets/giteamailer.pass";
settings = settings =
let let
domain = lib'.network.addresses.domain.natto; domain = conf.network.addresses.domain.natto;
in in
{ {
server = rec { server = rec {

View File

@@ -1,7 +1,14 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
nixpkgs = {
config = {
allowUnfree = true;
allowBroken = true;
allowInsecure = true;
};
};
nix = { nix = {
package = pkgs.nixUnstable;
extraOptions = '' extraOptions = ''
experimental-features = nix-command flakes experimental-features = nix-command flakes
''; '';
@@ -11,6 +18,7 @@
substituters = [ substituters = [
"https://nix-gaming.cachix.org" "https://nix-gaming.cachix.org"
"https://nix-community.cachix.org" "https://nix-community.cachix.org"
# "https://mirrors.tuna.tsinghua.edu.cn/nix-channels/store"
]; ];
trusted-public-keys = [ trusted-public-keys = [
"nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4=" "nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4="

View File

@@ -6,7 +6,7 @@
}; };
programs.neovim = { programs.neovim = {
enable = true; enable = true;
package = pkgs.neovim-nightly; package = inputs.nvim-overlay.packages.${pkgs.system}.neovim;
defaultEditor = false; defaultEditor = false;
configure = { configure = {
customRC = '' customRC = ''

33
hosts/okina/boot.nix Normal file
View File

@@ -0,0 +1,33 @@
{ lib, config, pkgs, ... }:
{
boot = {
kernelPackages = pkgs.linuxPackages;
initrd = {
availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
kernelModules = [ ];
};
kernelParams = [ "i915.force_probe=56a1" "resume_offset=11287312" ];
# kernelModules = [ "kvm-intel" "i2c-dev" "ddcci_backlight" ];
kernelModules = [ "kvm-intel" "i2c-dev" ];
# extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback r8125 ddcci-driver ];
extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback r8125 ];
blacklistedKernelModules = [ "r8169" ];
resumeDevice = "/dev/disk/by-uuid/5679b901-3a70-4422-81f5-af91f287500b";
loader = {
efi = {
canTouchEfiVariables = true;
efiSysMountPoint = "/boot/efi";
};
grub = {
enable = true;
efiSupport = true;
device = "nodev";
splashMode = "stretch";
};
};
};
}

12
hosts/okina/default.nix Normal file
View File

@@ -0,0 +1,12 @@
{ lib, config, ... }:
{
imports =
[
./hardware.nix
./stuff.nix
./networking.nix
./boot.nix
./services.nix
];
system.stateVersion = "23.05";
}

67
hosts/okina/hardware.nix Normal file
View File

@@ -0,0 +1,67 @@
{ config, lib, modulesPath, pkgs, ... }:
{
imports =
[
(modulesPath + "/installer/scan/not-detected.nix")
];
fileSystems."/" =
{
device = "/dev/disk/by-uuid/5679b901-3a70-4422-81f5-af91f287500b";
fsType = "btrfs";
options = [ "compress-force=zstd:3" ];
};
fileSystems."/boot/efi" =
{
device = "/dev/disk/by-uuid/A2E5-006F";
fsType = "vfat";
};
fileSystems."/media/omghi" =
{
device = "/dev/disk/by-uuid/0e862bdb-168a-42cc-8a28-0ae9e9a0753c";
fsType = "ext4";
};
fileSystems."/media/real" =
{
device = "/dev/disk/by-uuid/8086be20-c770-46be-bd8f-5bd2d7735c7d";
fsType = "btrfs";
options = [ "compress-force=zstd:3" ];
};
/* fileSystems."/media/ntfs" =
{
device = "/dev/disk/by-uuid/54034ca6-d3cd-11ee-9e0c-f020ff87c985";
fsType = "ntfs";
};*/
zramSwap = {
enable = true;
algorithm = "lz4";
memoryPercent = 20;
priority = -1;
};
swapDevices = [
{ device = "/var/swap"; size = 32768; }
];
powerManagement = {
enable = true;
cpuFreqGovernor = "powersave";
};
hardware = {
bluetooth.enable = true;
cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
opengl = {
driSupport32Bit = true;
enable = true;
package = pkgs.mesa.drivers;
package32 = pkgs.pkgsi686Linux.mesa.drivers;
};
};
}

View File

@@ -0,0 +1,30 @@
{ config, pkgs, conf, lib, ... }:
{
networking = {
hostName = "okina";
hostId = "fa6f8f15";
networkmanager = {
enable = true;
};
firewall = {
allowedTCPPorts = [ 22 18172 6600 8001 7590 25565 9092 8096 ];
allowedUDPPorts = [ 22 17840 18172 ];
trustedInterfaces = [ "docker0" ];
};
interfaces = {
enp7s0 = {
ipv4.addresses = [{
prefixLength = 24;
address = "192.168.1.106";
}];
};
};
defaultGateway = "192.168.1.1";
nameservers = [ "1.1.1.1" "8.8.8.8" ];
};
}

34
hosts/okina/services.nix Normal file
View File

@@ -0,0 +1,34 @@
{ lib, config, pkgs, ... }:
{
services = {
openssh = {
enable = true;
settings.PermitRootLogin = "yes";
};
ratbagd.enable = true;
btrfs.autoScrub.enable = true;
gvfs.enable = true;
logind.extraConfig = "RuntimeDirectorySize=30%";
printing = {
enable = true;
drivers = [ pkgs.hplip ];
};
};
systemd.services = {
libvirtd.wantedBy = lib.mkForce [ ];
};
security.pki.certificateFiles = [ ../../cert.pem ];
virtualisation = {
docker = {
enable = true;
};
libvirtd = {
enable = true;
onBoot = "ignore";
onShutdown = "shutdown";
qemu.runAsRoot = true;
};
};
}

49
hosts/okina/stuff.nix Normal file
View File

@@ -0,0 +1,49 @@
{ lib, config, pkgs, ... }:
{
time.timeZone = "Asia/Kolkata";
environment.localBinInPath = true;
security = {
rtkit.enable = true;
polkit.enable = true;
sudo.enable = true;
doas = {
enable = true;
extraRules = [
{
users = [ "natto" ];
keepEnv = true;
persist = true;
setEnv = [ "SSH_AUTH_SOCK" "PATH" "SHELL" ];
}
];
};
};
console.useXkbConfig = true;
users.users.natto = {
isNormalUser = true;
shell = pkgs.zsh;
home = "/home/natto";
extraGroups = [ "wheel" "adbusers" "video" "libvirtd" "docker" "networkmanager" "dialout" ];
};
virtualisation = {
waydroid.enable = true;
podman = {
enable = true;
};
};
gtk.iconCache.enable = true;
security.wrappers = {
intel_gpu_top = {
owner = "root";
group = "root";
capabilities = "cap_perfmon=+ep";
source = "${pkgs.intel-gpu-tools}/bin/intel_gpu_top";
};
};
}

View File

@@ -1,4 +1,4 @@
{ config, pkgs, lib', ... }: { config, pkgs, conf, ... }:
{ {
imports = [ imports = [
./networking.nix ./networking.nix
@@ -15,7 +15,7 @@
shell = pkgs.zsh; shell = pkgs.zsh;
home = "/home/bat"; home = "/home/bat";
extraGroups = [ "wheel" ]; extraGroups = [ "wheel" ];
openssh.authorizedKeys.keys = lib'.network.commonSSHKeys; openssh.authorizedKeys.keys = conf.network.commonSSHKeys;
}; };
programs.zsh.enable = true; programs.zsh.enable = true;

View File

@@ -1,7 +1,7 @@
{ config, pkgs, lib', network, ... }: { config, pkgs, conf, network, ... }:
{ {
mailserver = mailserver =
let domain = lib'.network.addresses.domain.natto; in let domain = conf.network.addresses.domain.natto; in
rec { rec {
enable = true; enable = true;
fqdn = "mail.${domain}"; fqdn = "mail.${domain}";

View File

@@ -1,4 +1,4 @@
{ lib, config, lib', pkgs, ... }: { lib, config, conf, pkgs, ... }:
{ {
networking = { networking = {
useDHCP = false; useDHCP = false;
@@ -27,7 +27,7 @@
useDHCP = true; useDHCP = true;
}; };
}; };
nat = with lib'.network.addresses.wireguard.ips; { nat = with conf.network.addresses.wireguard.ips; {
enable = true; enable = true;
externalInterface = "ens3"; externalInterface = "ens3";
internalInterfaces = [ "wg0" ]; internalInterfaces = [ "wg0" ];
@@ -46,7 +46,7 @@
} }
]; ];
}; };
wireguard.interfaces = with lib'.network.addresses.wireguard; { wireguard.interfaces = with conf.network.addresses.wireguard; {
wg0 = { wg0 = {
ips = [ ips.remilia ]; ips = [ ips.remilia ];
listenPort = 17840; listenPort = 17840;

View File

@@ -1,6 +1,6 @@
{ config, pkgs, lib, lib', ... }: { config, pkgs, lib, conf, ... }:
let let
domain = lib'.network.addresses.domain.natto; domain = conf.network.addresses.domain.natto;
in in
{ {
services = { services = {
@@ -37,7 +37,7 @@ in
}; };
}; };
in in
with lib'.network.addresses.wireguard.ips; { with conf.network.addresses.wireguard.ips; {
"${domain}" = { "${domain}" = {
addSSL = true; addSSL = true;
enableACME = true; enableACME = true;

View File

@@ -4,7 +4,6 @@
[ [
./hardware.nix ./hardware.nix
./stuff.nix ./stuff.nix
./pkgs.nix
./networking.nix ./networking.nix
./boot.nix ./boot.nix
./services.nix ./services.nix

View File

@@ -1,4 +1,4 @@
{ config, pkgs, lib', ... }: { config, pkgs, conf, ... }:
{ {
networking = { networking = {
@@ -15,7 +15,7 @@
trustedInterfaces = [ "docker0" ]; trustedInterfaces = [ "docker0" ];
}; };
wireguard.interfaces.wg0 = with lib'.network.addresses.wireguard.ips; { wireguard.interfaces.wg0 = with conf.network.addresses.wireguard.ips; {
ips = [ satori ]; ips = [ satori ];
listenPort = 17840; listenPort = 17840;
privateKeyFile = "/var/secrets/wg.key"; privateKeyFile = "/var/secrets/wg.key";
@@ -23,7 +23,7 @@
#Oracle VM1 #Oracle VM1
publicKey = "z0Y2VNEWcyVQVSqRHiwmiJ5/0MgSPM+HZfEcwIccSxM="; publicKey = "z0Y2VNEWcyVQVSqRHiwmiJ5/0MgSPM+HZfEcwIccSxM=";
allowedIPs = [ remilia ]; allowedIPs = [ remilia ];
endpoint = "${lib'.network.addresses.domain.natto}:17840"; endpoint = "${conf.network.addresses.domain.natto}:17840";
persistentKeepalive = 25; persistentKeepalive = 25;
}]; }];
}; };

View File

@@ -1,7 +1,6 @@
{ lib, config, pkgs, ... }: { lib, config, pkgs, ... }:
{ {
services = { services = {
tor.enable = true;
openssh = { openssh = {
enable = true; enable = true;
settings.PermitRootLogin = "yes"; settings.PermitRootLogin = "yes";
@@ -16,26 +15,9 @@
}; };
}; };
logind.extraConfig = "RuntimeDirectorySize=30%"; logind.extraConfig = "RuntimeDirectorySize=30%";
mysql.enable = true;
mysql.package = pkgs.mariadb;
/* nomad = {
enable = true;
enableDocker = true;
dropPrivileges = false;
extraPackages = with pkgs; [ consul cni-plugins ];
extraSettingsPaths = [ "/home/natto/hclconfigs/nomad/nomad.json" ];
};
consul = {
enable = true;
package = pkgs.consul;
extraConfigFiles = [ "/home/natto/hclconfigs/consul/consul.json" ];
};*/
}; };
systemd.services = { systemd.services = {
tor.wantedBy = lib.mkForce [ ];
libvirtd.wantedBy = lib.mkForce [ ]; libvirtd.wantedBy = lib.mkForce [ ];
}; };

View File

@@ -1,4 +1,4 @@
{ lib, config, agenix, pkgs, ... }: { lib, config, pkgs, ... }:
{ {
time.timeZone = "Asia/Kolkata"; time.timeZone = "Asia/Kolkata";
@@ -22,21 +22,6 @@
}; };
console.useXkbConfig = true; console.useXkbConfig = true;
fonts.packages = with pkgs; [
fira-code
fira-mono
monoid
font-awesome
material-icons
material-design-icons
lohit-fonts.devanagari
lohit-fonts.gurmukhi
office-code-pro
eb-garamond
noto-fonts-cjk
takao
liberation_ttf
];
users.users.natto = { users.users.natto = {
isNormalUser = true; isNormalUser = true;
@@ -47,52 +32,11 @@
virtualisation = { virtualisation = {
waydroid.enable = true; waydroid.enable = true;
containers.cdi.dynamic.nvidia.enable = true;
podman = { podman = {
enable = true; enable = true;
enableNvidia = true;
}; };
}; };
gtk.iconCache.enable = true; gtk.iconCache.enable = true;
# sound stuff
sound.enable = true;
services.pipewire = {
enable = true;
alsa = {
enable = true;
support32Bit = true;
};
pulse.enable = true;
socketActivation = true;
wireplumber.enable = true;
};
/*
environment.etc =
let
json = pkgs.formats.json { };
in
{
"pipewire/pipewire.conf.d/50-noise.conf".source = json.generate "50-noise.conf" {
context.modules = [
{
name = "libpipewire-module-echo-cancel";
args = {
capture.props = {
node.name = "Echo Cancellation Capture";
};
source.props = {
node.name = "Echo Cancellation Source";
};
sink.props = {
node.name = "Echo Cancellation Sink";
};
playback.props = {
node.name = "Echo Cancellation Playback";
};
};
}
];
};
};*/
} }

14
hosts/sound.nix Normal file
View File

@@ -0,0 +1,14 @@
{ lib, config, pkgs, ... }: {
# sound stuff
sound.enable = true;
services.pipewire = {
enable = true;
alsa = {
enable = true;
support32Bit = true;
};
pulse.enable = true;
socketActivation = true;
wireplumber.enable = true;
};
}

View File

@@ -7,21 +7,21 @@
#in #in
{ {
services = { services = {
libinput = {
enable = true;
mouse = {
accelSpeed = "0";
# accelProfile = "flat";
};
touchpad = {
middleEmulation = false;
clickMethod = "buttonareas";
tapping = true;
naturalScrolling = true;
};
};
xserver = { xserver = {
enable = true; enable = true;
libinput = {
enable = true;
mouse = {
accelSpeed = "0";
# accelProfile = "flat";
};
touchpad = {
middleEmulation = false;
clickMethod = "buttonareas";
tapping = true;
naturalScrolling = true;
};
};
displayManager = { displayManager = {
startx = { startx = {
enable = true; enable = true;