Compare commits
66 changed files with 1446 additions and 1100 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
result
|
||||||
700
flake.lock
generated
700
flake.lock
generated
|
|
@ -1,5 +1,25 @@
|
||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
|
"agenix": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1792507013,
|
||||||
|
"narHash": "sha256-8tKjSQajD3mUND1GaAuaWTcuyUpgcGsh5V+l4ibzC7U=",
|
||||||
|
"owner": "ryantm",
|
||||||
|
"repo": "agenix",
|
||||||
|
"rev": "5e5b88a0c8e56f291a108c2fe9934054d9745b2e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "ryantm",
|
||||||
|
"repo": "agenix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"base16": {
|
"base16": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"fromYaml": "fromYaml"
|
"fromYaml": "fromYaml"
|
||||||
|
|
@ -18,19 +38,69 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-compat": {
|
"base16-fish": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747046372,
|
"lastModified": 1765809053,
|
||||||
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
|
"narHash": "sha256-XCUQLoLfBJ8saWms2HCIj4NEN+xNsWBlU1NrEPcQG4s=",
|
||||||
"owner": "edolstra",
|
"owner": "tomyun",
|
||||||
"repo": "flake-compat",
|
"repo": "base16-fish",
|
||||||
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
|
"rev": "86cbea4dca62e08fb7fd83a70e96472f92574782",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "edolstra",
|
"owner": "tomyun",
|
||||||
"repo": "flake-compat",
|
"repo": "base16-fish",
|
||||||
|
"rev": "86cbea4dca62e08fb7fd83a70e96472f92574782",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"base16-helix": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1776754714,
|
||||||
|
"narHash": "sha256-E3OAK27smtATTmX45uoTSRsVD+Y+ZiVVfgM/tjpbtYg=",
|
||||||
|
"owner": "tinted-theming",
|
||||||
|
"repo": "base16-helix",
|
||||||
|
"rev": "4d508123037e7851ad36ebf7d9c48b0e9e1eb581",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "tinted-theming",
|
||||||
|
"repo": "base16-helix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"base16-vim": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1732806396,
|
||||||
|
"narHash": "sha256-e0bpPySdJf0F68Ndanwm+KWHgQiZ0s7liLhvJSWDNsA=",
|
||||||
|
"owner": "tinted-theming",
|
||||||
|
"repo": "base16-vim",
|
||||||
|
"rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "tinted-theming",
|
||||||
|
"repo": "base16-vim",
|
||||||
|
"rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"firefox-gnome-theme": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1783570805,
|
||||||
|
"narHash": "sha256-ptl5aRlCv9/uRSv2u8Hq8UFVFeZ6Q/bT049bpqNgc3w=",
|
||||||
|
"owner": "rafaelmardojai",
|
||||||
|
"repo": "firefox-gnome-theme",
|
||||||
|
"rev": "5602ed62d638142c1ab31dccd01dfbfb28841225",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "rafaelmardojai",
|
||||||
|
"repo": "firefox-gnome-theme",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -38,6 +108,48 @@
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": "nixpkgs-lib"
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
},
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1790898470,
|
||||||
|
"narHash": "sha256-zTwuwezD0w3hpga6a6P8emidzAZFyWqlNeRBlpWOOl8=",
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"rev": "024633cd702b10285db5cb19b40ad48d2399ba60",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-parts_2": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs-lib": [
|
||||||
|
"hermes-agent",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1790898470,
|
||||||
|
"narHash": "sha256-zTwuwezD0w3hpga6a6P8emidzAZFyWqlNeRBlpWOOl8=",
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"rev": "024633cd702b10285db5cb19b40ad48d2399ba60",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-parts_3": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs-lib": [
|
||||||
|
"stylix",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1782949081,
|
"lastModified": 1782949081,
|
||||||
"narHash": "sha256-vp6Y/Grm98ESt6ceOkWiHWyZRDV3J1RID4w+6NWK9yA=",
|
"narHash": "sha256-vp6Y/Grm98ESt6ceOkWiHWyZRDV3J1RID4w+6NWK9yA=",
|
||||||
|
|
@ -52,64 +164,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-parts_2": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs-lib": "nixpkgs-lib_2"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1785627969,
|
|
||||||
"narHash": "sha256-4dtXQk/NMePegK/nWp5NSeuZKLATItOq61lpEvmXqGw=",
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"rev": "427bf4bd9435fdf21321c8cc628c24efc14c0f7a",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-utils": {
|
|
||||||
"inputs": {
|
|
||||||
"systems": "systems"
|
|
||||||
},
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-utils_2": {
|
|
||||||
"inputs": {
|
|
||||||
"systems": [
|
|
||||||
"mango",
|
|
||||||
"scenefx",
|
|
||||||
"systems"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"fromYaml": {
|
"fromYaml": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
|
@ -126,25 +180,50 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"helium": {
|
"gnome-shell": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"host": "gitlab.gnome.org",
|
||||||
|
"lastModified": 1776175984,
|
||||||
|
"narHash": "sha256-RJFlFW8GiMei6oqUGrMkGEvVqOH8U7Q8abc1yK4VKD8=",
|
||||||
|
"owner": "GNOME",
|
||||||
|
"repo": "gnome-shell",
|
||||||
|
"rev": "e0fdc4c13250e9a9b8ea9594c83925274f4a5dca",
|
||||||
|
"type": "gitlab"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"host": "gitlab.gnome.org",
|
||||||
|
"owner": "GNOME",
|
||||||
|
"ref": "50.1",
|
||||||
|
"repo": "gnome-shell",
|
||||||
|
"type": "gitlab"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hermes-agent": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat",
|
"flake-parts": "flake-parts_2",
|
||||||
"flake-utils": "flake-utils",
|
"home-manager": [
|
||||||
|
"home-manager"
|
||||||
|
],
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
],
|
||||||
|
"npm-lockfile-fix": "npm-lockfile-fix",
|
||||||
|
"pyproject-build-systems": "pyproject-build-systems",
|
||||||
|
"pyproject-nix": "pyproject-nix",
|
||||||
|
"uv2nix": "uv2nix"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1788457071,
|
"lastModified": 1793005886,
|
||||||
"narHash": "sha256-Yqqbe/X4nYdOQHy72x0h7smLr+Vhgwp5X23EPDn1Jdw=",
|
"narHash": "sha256-gZD8QVfZU4d19WbpGU1d3a1N4iJ0w1b916b/V+P0+cc=",
|
||||||
"owner": "AlvaroParker",
|
"owner": "NousResearch",
|
||||||
"repo": "helium-nix",
|
"repo": "hermes-agent",
|
||||||
"rev": "d17d25ee7277a108cf6b7a6d167f1bf82ff0e7a0",
|
"rev": "9b904dcc22c23fe8b82834339bbdd96495072e59",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "AlvaroParker",
|
"owner": "NousResearch",
|
||||||
"repo": "helium-nix",
|
"repo": "hermes-agent",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -155,11 +234,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1788487777,
|
"lastModified": 1792896866,
|
||||||
"narHash": "sha256-Ro/e1N4ZR8/XaFF+sF9SgfPK79HM5YNEppzFj8p+0Ak=",
|
"narHash": "sha256-/0tELNnhdSnP+bHSdWiEe6KpfSwi6WrTnT9cm/jNkjA=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "693e8ce0fb240a73c116a03cfd7b19269c87af88",
|
"rev": "c216bf5a1f173b0481bd5c8c489ebe5595ecc68c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -168,43 +247,102 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mango": {
|
"home-manager_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": "flake-parts",
|
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
"nixcord",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
]
|
||||||
"scenefx": "scenefx"
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1788490924,
|
"lastModified": 1790996401,
|
||||||
"narHash": "sha256-tymTjjNKWohVzXycg2mN7cSApQ6NDmn9k4LklNq/WGo=",
|
"narHash": "sha256-f+kOxEmOUnQazVAmGg0i8hzwgd1kX/geY+k/Dpheye8=",
|
||||||
"owner": "mangowm",
|
"owner": "nix-community",
|
||||||
"repo": "mango",
|
"repo": "home-manager",
|
||||||
"rev": "7b4266f1d8df09f83283574ba61dba51656d4791",
|
"rev": "db7d5e2332710f5abb088f6b5de927d7f9511b35",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "mangowm",
|
"owner": "nix-community",
|
||||||
"repo": "mango",
|
"ref": "release-26.05",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"import-tree": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1788467110,
|
||||||
|
"narHash": "sha256-ljEMTXP/rH0tOvDzc9gzwww6KcHRPRnEHzd9lK48V7s=",
|
||||||
|
"owner": "vic",
|
||||||
|
"repo": "import-tree",
|
||||||
|
"rev": "eb1b52eaecc57f7c136d07ae8a93e724dfecac46",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "vic",
|
||||||
|
"repo": "import-tree",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nix-darwin": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixcord",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1783744694,
|
||||||
|
"narHash": "sha256-2cp6N3rrwnGYLTx9l6N+NI+kwrCWxvJUbj5WJhvB29A=",
|
||||||
|
"owner": "nix-darwin",
|
||||||
|
"repo": "nix-darwin",
|
||||||
|
"rev": "c3e90c89649b07d1a96e4b9dd6cd0d6e44b91a74",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-darwin",
|
||||||
|
"ref": "nix-darwin-26.05",
|
||||||
|
"repo": "nix-darwin",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nix-easyroam": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1784038797,
|
||||||
|
"narHash": "sha256-td6Ko5RV/TFw7ALmYP9YUVXMS1b7hW7vDqabrGXyzUo=",
|
||||||
|
"owner": "0x5a4",
|
||||||
|
"repo": "nix-easyroam",
|
||||||
|
"rev": "a6c72d25edc3b210bf6b2b46395c88be7efac147",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "0x5a4",
|
||||||
|
"repo": "nix-easyroam",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixcord": {
|
"nixcord": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": "flake-parts_2",
|
"home-manager": "home-manager_2",
|
||||||
|
"nix-darwin": "nix-darwin",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
"nixpkgs-nixcord": "nixpkgs-nixcord",
|
"nixpkgs-ci": "nixpkgs-ci",
|
||||||
|
"nixpkgs-packages": "nixpkgs-packages",
|
||||||
"treefmt-nix": "treefmt-nix"
|
"treefmt-nix": "treefmt-nix"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1788512400,
|
"lastModified": 1792984624,
|
||||||
"narHash": "sha256-pFiwb+c/lIvMvjSzJONZ+jPi36kbbljys7OFy+Kxt3U=",
|
"narHash": "sha256-i8nr7pMfov5q0W5m1UCeNYGClbA4hdbmTwa+OkumdlY=",
|
||||||
"owner": "4evy",
|
"owner": "4evy",
|
||||||
"repo": "nixcord",
|
"repo": "nixcord",
|
||||||
"rev": "004e2c950c0b4a404fb3ea5ab01f5645265e4322",
|
"rev": "63e33cd00b08ef49b6623a1b6f9f27f69049d1a9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -215,27 +353,40 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1788316716,
|
"lastModified": 1792773339,
|
||||||
"narHash": "sha256-bc7rSpXIdn9QWGNqfWcPZWOhEVF8NoeAZkWq0XWnf/k=",
|
"narHash": "sha256-rZLrzrC6i+jnTAlvPZHogKDulY7WWDEv9hJeHieO7Zw=",
|
||||||
"owner": "NixOS",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "3ed67ec0a4d3c7ab4ae1f04f8ee8df07bfa506a2",
|
"rev": "3ec636362e1816bc2f0888fa0fa2c69f1bc9e504",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "nixos",
|
||||||
"ref": "nixos-unstable",
|
"ref": "nixos-unstable",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs-ci": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1791130267,
|
||||||
|
"narHash": "sha256-NCFqY2YC3/5pwakzk7tXNUj3sG+VImjU4EkZMacxF1w=",
|
||||||
|
"rev": "9013764fcc0ea99fa16cf7aa7decf8a5c3889dd2",
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.11pre1085518.9013764fcc0e/nixexprs.tar.zst"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.zst"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs-lib": {
|
"nixpkgs-lib": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1782614948,
|
"lastModified": 1790477367,
|
||||||
"narHash": "sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC+eBu2zKlp8=",
|
"narHash": "sha256-oujbxmVKDhci2E4EM3KyAbRUgp5/IsCoiA/LfEF7OOk=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixpkgs.lib",
|
"repo": "nixpkgs.lib",
|
||||||
"rev": "db3f255737b94216eb71cce308e2912cf6bc2d7c",
|
"rev": "f7cd230690d9fc982d06129f9189b101fddcfa3b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -244,81 +395,190 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-lib_2": {
|
"nixpkgs-packages": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1785031560,
|
"lastModified": 1791130267,
|
||||||
"narHash": "sha256-OmshNvn2vupOFpYinLUu+1Dnpu4n7Q5N3ggGVNHpkUI=",
|
"narHash": "sha256-NCFqY2YC3/5pwakzk7tXNUj3sG+VImjU4EkZMacxF1w=",
|
||||||
"owner": "nix-community",
|
"rev": "9013764fcc0ea99fa16cf7aa7decf8a5c3889dd2",
|
||||||
"repo": "nixpkgs.lib",
|
"type": "tarball",
|
||||||
"rev": "0e79af5e3d4dcfcd676ab5ba3f95d2e3352e078c",
|
"url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.11pre1085518.9013764fcc0e/nixexprs.tar.zst"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.zst"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"npm-lockfile-fix": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"hermes-agent",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1775903712,
|
||||||
|
"narHash": "sha256-2GV79U6iVH4gKAPWYrxUReB0S41ty/Y3dBLquU8AlaA=",
|
||||||
|
"owner": "jeslie0",
|
||||||
|
"repo": "npm-lockfile-fix",
|
||||||
|
"rev": "c6093acb0c0548e0f9b8b3d82918823721930fe8",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "jeslie0",
|
||||||
"repo": "nixpkgs.lib",
|
"repo": "npm-lockfile-fix",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-nixcord": {
|
"nur": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-parts": [
|
||||||
|
"stylix",
|
||||||
|
"flake-parts"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"stylix",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1786711500,
|
"lastModified": 1785549842,
|
||||||
"narHash": "sha256-QvnceIGTBeDvDd9oCn+GvdsnkquliuwbVgpiRH68qaQ=",
|
"narHash": "sha256-DCwBZmGsySF7oKGTRgEv2HvpxVXkHT+38VhTM76k0B4=",
|
||||||
"owner": "NixOS",
|
"owner": "nix-community",
|
||||||
"repo": "nixpkgs",
|
"repo": "NUR",
|
||||||
"rev": "02e08985a27c65ffd33d434eeb2e660a2e4dc84d",
|
"rev": "a9f987b57594e845e3e5cdd423b9a70846d70308",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "nix-community",
|
||||||
"ref": "nixos-26.05",
|
"repo": "NUR",
|
||||||
"repo": "nixpkgs",
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pyproject-build-systems": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"hermes-agent",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"pyproject-nix": [
|
||||||
|
"hermes-agent",
|
||||||
|
"pyproject-nix"
|
||||||
|
],
|
||||||
|
"uv2nix": [
|
||||||
|
"hermes-agent",
|
||||||
|
"uv2nix"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1792499785,
|
||||||
|
"narHash": "sha256-mGOkvueuMGSRiD75ccxFzfEvSlIU9ztjFluHMKOtogY=",
|
||||||
|
"owner": "pyproject-nix",
|
||||||
|
"repo": "build-system-pkgs",
|
||||||
|
"rev": "a17819c85163988e063806ffc4f6d2716bc8ead8",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "pyproject-nix",
|
||||||
|
"repo": "build-system-pkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pyproject-nix": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"hermes-agent",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1791657700,
|
||||||
|
"narHash": "sha256-vcCAvhtA7hG+/gOge29hYHy7I/dLkIsr5nLx4sFEQic=",
|
||||||
|
"owner": "pyproject-nix",
|
||||||
|
"repo": "pyproject.nix",
|
||||||
|
"rev": "ddc400a6883b042646d0940e65971bb7f7e96107",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "pyproject-nix",
|
||||||
|
"repo": "pyproject.nix",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"base16": "base16",
|
"agenix": "agenix",
|
||||||
"helium": "helium",
|
"flake-parts": "flake-parts",
|
||||||
|
"hermes-agent": "hermes-agent",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"mango": "mango",
|
"import-tree": "import-tree",
|
||||||
|
"nix-easyroam": "nix-easyroam",
|
||||||
"nixcord": "nixcord",
|
"nixcord": "nixcord",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"tt-discord": "tt-discord",
|
"spicetify-nix": "spicetify-nix",
|
||||||
"tt-gtk": "tt-gtk",
|
"stylix": "stylix"
|
||||||
"tt-schemes": "tt-schemes",
|
|
||||||
"tt-terminal": "tt-terminal"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"scenefx": {
|
"spicetify-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils_2",
|
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"mango",
|
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
"systems": "systems_2"
|
"systems": "systems"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1782624992,
|
"lastModified": 1792919014,
|
||||||
"narHash": "sha256-vUjLG6eubEhJJVa9LPygIcVmNoHwYbSUTJcWEcbxnU4=",
|
"narHash": "sha256-gJ8uPmQFhJ98X+VWPpD+o0tnQ0nJjbG+Z3QDHcSJKw0=",
|
||||||
"owner": "wlrfx",
|
"owner": "Gerg-L",
|
||||||
"repo": "scenefx",
|
"repo": "spicetify-nix",
|
||||||
"rev": "37ccd723bef49e6891156ffafce8f549f01446cc",
|
"rev": "f6eb8135c060130150c8fbcc6b7cf5e22e5179d8",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "wlrfx",
|
"owner": "Gerg-L",
|
||||||
"repo": "scenefx",
|
"repo": "spicetify-nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"stylix": {
|
||||||
|
"inputs": {
|
||||||
|
"base16": "base16",
|
||||||
|
"base16-fish": "base16-fish",
|
||||||
|
"base16-helix": "base16-helix",
|
||||||
|
"base16-vim": "base16-vim",
|
||||||
|
"firefox-gnome-theme": "firefox-gnome-theme",
|
||||||
|
"flake-parts": "flake-parts_3",
|
||||||
|
"gnome-shell": "gnome-shell",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"nur": "nur",
|
||||||
|
"systems": "systems_2",
|
||||||
|
"tinted-kitty": "tinted-kitty",
|
||||||
|
"tinted-schemes": "tinted-schemes",
|
||||||
|
"tinted-tmux": "tinted-tmux",
|
||||||
|
"tinted-zed": "tinted-zed"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1792920263,
|
||||||
|
"narHash": "sha256-2pkE97wOXAYIn2/Nhs9y+iR0qVT+g/3UtukXdkywxXc=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "stylix",
|
||||||
|
"rev": "3e27b6c499e507df6e3bb8eca3614f5c95e28140",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "stylix",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems": {
|
"systems": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1681028828,
|
"lastModified": 1791244623,
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
"narHash": "sha256-uuanbkFk8a313Zfrxdcz8Us/yQtaxNnKJtX8v0ZPpd8=",
|
||||||
"owner": "nix-systems",
|
"owner": "nix-systems",
|
||||||
"repo": "default",
|
"repo": "default",
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
"rev": "d36eeed142f88b5a636f2e3856a53c61654cf29b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -329,16 +589,81 @@
|
||||||
},
|
},
|
||||||
"systems_2": {
|
"systems_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1689347949,
|
"lastModified": 1774449309,
|
||||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
"narHash": "sha256-brhZ8DmuGtzkCYHJg4HEd602amKm89Y9ytsFZ5uWD1w=",
|
||||||
"owner": "nix-systems",
|
"owner": "nix-systems",
|
||||||
"repo": "default-linux",
|
"repo": "default",
|
||||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
"rev": "c29398b59d2048c4ab79345812849c9bd15e9150",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-systems",
|
"owner": "nix-systems",
|
||||||
"repo": "default-linux",
|
"ref": "future-26.11",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tinted-kitty": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1735730497,
|
||||||
|
"narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=",
|
||||||
|
"owner": "tinted-theming",
|
||||||
|
"repo": "tinted-kitty",
|
||||||
|
"rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "tinted-theming",
|
||||||
|
"repo": "tinted-kitty",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tinted-schemes": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1785153830,
|
||||||
|
"narHash": "sha256-fNdfCTeCXU3tZG3TMincd+u68qBHQgCr2Ljr/M1mWP0=",
|
||||||
|
"owner": "tinted-theming",
|
||||||
|
"repo": "schemes",
|
||||||
|
"rev": "9bd28ed313560db3c5b605c63bc4e309e78e3fc8",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "tinted-theming",
|
||||||
|
"repo": "schemes",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tinted-tmux": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1785031658,
|
||||||
|
"narHash": "sha256-mZp9O2LjzdMzlqQF3l3fjqsuPBzXy+1qTfBEUGjTlpk=",
|
||||||
|
"owner": "tinted-theming",
|
||||||
|
"repo": "tinted-tmux",
|
||||||
|
"rev": "5d2c67f61ea7af36f16865ab6d541cdba41dc257",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "tinted-theming",
|
||||||
|
"repo": "tinted-tmux",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tinted-zed": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1785030526,
|
||||||
|
"narHash": "sha256-klZf8UviewRkxuu74Bhbq6tqy7oxebQC7UVRWbbtQxU=",
|
||||||
|
"owner": "tinted-theming",
|
||||||
|
"repo": "base16-zed",
|
||||||
|
"rev": "16f5a8adf4a6b1310d0a61ab172de963e8f76a02",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "tinted-theming",
|
||||||
|
"repo": "base16-zed",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -350,11 +675,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1785945821,
|
"lastModified": 1791198660,
|
||||||
"narHash": "sha256-NLSyTCW4K4ofhNBllt3omPasm6QpralXH1DBZOc91Dw=",
|
"narHash": "sha256-f8Pye933T60vreB9u9pqfAXDyBqO13U7H0LvPsOxCIA=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "treefmt-nix",
|
"repo": "treefmt-nix",
|
||||||
"rev": "ae7910970dddc408fe6ab1c8e4b277bb21d72dc0",
|
"rev": "8b367b728be38d1bb7206f037c9df9989df3353a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -363,67 +688,28 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tt-discord": {
|
"uv2nix": {
|
||||||
"flake": false,
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"hermes-agent",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"pyproject-nix": [
|
||||||
|
"hermes-agent",
|
||||||
|
"pyproject-nix"
|
||||||
|
]
|
||||||
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1788292449,
|
"lastModified": 1792666911,
|
||||||
"narHash": "sha256-YiNFAa/w72k/b/aqf+TFHvqNvIx/MsXEaKJVzg92DhQ=",
|
"narHash": "sha256-UWo7wDPi00YXOI1Io7g4vGKuCSPJ863kHJVDzsgqtoM=",
|
||||||
"ref": "refs/heads/main",
|
"owner": "pyproject-nix",
|
||||||
"rev": "dcf9db7194b5281a67f5af1452f9d8eb0ca78811",
|
"repo": "uv2nix",
|
||||||
"revCount": 6,
|
"rev": "0fdaa03ea3c3c16dbb1fe4d69108f07227a4b42d",
|
||||||
"type": "git",
|
|
||||||
"url": "https://git.lucy.rip/lucy/tinted-discord.git"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://git.lucy.rip/lucy/tinted-discord.git"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"tt-gtk": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1781724602,
|
|
||||||
"narHash": "sha256-UOBqSP+4PcbcR9S2hvhsH/V3U6ldFfV+QIjuObIgmTU=",
|
|
||||||
"ref": "refs/heads/main",
|
|
||||||
"rev": "f4d739fdb3c24886db4ceefac6e88703aca78bf6",
|
|
||||||
"revCount": 5,
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://git.lucy.rip/lucy/tinted-gtk.git"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://git.lucy.rip/lucy/tinted-gtk.git"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"tt-schemes": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1786274241,
|
|
||||||
"narHash": "sha256-LMHxSQJIv6QJJkO9W7sAkJujlwusFf9/Ct0SYJ6GyHQ=",
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "schemes",
|
|
||||||
"rev": "fdca32a0d14ec80ad83a78a9ccb85592ca6cb9e1",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "tinted-theming",
|
"owner": "pyproject-nix",
|
||||||
"repo": "schemes",
|
"repo": "uv2nix",
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"tt-terminal": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1786840953,
|
|
||||||
"narHash": "sha256-R5U9KnrG5cARf90nw5e33Z4A4svwLTRv9qbvFAiAaAY=",
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "tinted-terminal",
|
|
||||||
"rev": "993a33342b053b1830e4ccb82448455991dcfd54",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "tinted-terminal",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
87
flake.nix
87
flake.nix
|
|
@ -1,72 +1,45 @@
|
||||||
{
|
{
|
||||||
|
description = "lucy's nix config";
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
base16.url = "github:SenchoPens/base16.nix";
|
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||||
home-manager.url = "github:nix-community/home-manager";
|
import-tree.url = "github:vic/import-tree";
|
||||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
nix-easyroam = {
|
||||||
nixcord.url = "github:4evy/nixcord";
|
url = "github:0x5a4/nix-easyroam";
|
||||||
nixcord.inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
mango = {
|
|
||||||
url = "github:mangowm/mango";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
helium = {
|
nixcord = {
|
||||||
url = "github:AlvaroParker/helium-nix";
|
url = "github:4evy/nixcord";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
tt-schemes = {
|
agenix = {
|
||||||
url = "github:tinted-theming/schemes";
|
url = "github:ryantm/agenix";
|
||||||
flake = false;
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
tt-terminal = {
|
home-manager = {
|
||||||
url = "github:tinted-theming/tinted-terminal";
|
url = "github:nix-community/home-manager";
|
||||||
flake = false;
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
tt-discord = {
|
stylix = {
|
||||||
url = "git+https://git.lucy.rip/lucy/tinted-discord.git";
|
url = "github:nix-community/stylix";
|
||||||
flake = false;
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
tt-gtk = {
|
spicetify-nix = {
|
||||||
url = "git+https://git.lucy.rip/lucy/tinted-gtk.git";
|
url = "github:Gerg-L/spicetify-nix";
|
||||||
flake = false;
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
hermes-agent = {
|
||||||
|
url = "github:NousResearch/hermes-agent";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
inputs.home-manager.follows = "home-manager";
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
outputs =
|
outputs =
|
||||||
{
|
inputs:
|
||||||
self,
|
inputs.flake-parts.lib.mkFlake { inherit inputs; } {
|
||||||
nixpkgs,
|
imports = [
|
||||||
base16,
|
inputs.home-manager.flakeModules.home-manager
|
||||||
home-manager,
|
(inputs.import-tree ./modules)
|
||||||
nixcord,
|
|
||||||
mango,
|
|
||||||
...
|
|
||||||
}@inputs:
|
|
||||||
let
|
|
||||||
boilerplate = [
|
|
||||||
./modules/theming
|
|
||||||
mango.nixosModules.mango
|
|
||||||
home-manager.nixosModules.home-manager
|
|
||||||
{
|
|
||||||
home-manager.useGlobalPkgs = true;
|
|
||||||
home-manager.useUserPackages = true;
|
|
||||||
home-manager.extraSpecialArgs = { inherit inputs; };
|
|
||||||
home-manager.sharedModules = [
|
|
||||||
./modules/theming
|
|
||||||
./modules/programs
|
|
||||||
];
|
];
|
||||||
home-manager.users.lucy = ./modules/home/default.nix;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
in
|
|
||||||
{
|
|
||||||
nixosConfigurations.nerv = nixpkgs.lib.nixosSystem {
|
|
||||||
specialArgs = { inherit inputs; };
|
|
||||||
modules = [ ./modules/hosts/nerv/configuration.nix ] ++ boilerplate;
|
|
||||||
};
|
|
||||||
nixosConfigurations.seele = nixpkgs.lib.nixosSystem {
|
|
||||||
specialArgs = { inherit inputs; };
|
|
||||||
modules = [ ./modules/hosts/seele/configuration.nix ] ++ boilerplate;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
48
modules/default.nix
Normal file
48
modules/default.nix
Normal file
|
|
@ -0,0 +1,48 @@
|
||||||
|
{
|
||||||
|
self,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
mods = with self.nixosModules; [
|
||||||
|
agenix
|
||||||
|
base_services
|
||||||
|
bluetooth
|
||||||
|
boot
|
||||||
|
core
|
||||||
|
chromium
|
||||||
|
gaming
|
||||||
|
easyroam
|
||||||
|
nautilus
|
||||||
|
packages
|
||||||
|
pipewire
|
||||||
|
programs
|
||||||
|
stylix
|
||||||
|
stylix_targets
|
||||||
|
stylix_fonts
|
||||||
|
tlp
|
||||||
|
user
|
||||||
|
zsh
|
||||||
|
];
|
||||||
|
in
|
||||||
|
{
|
||||||
|
flake.nixosConfigurations.nerv = inputs.nixpkgs.lib.nixosSystem {
|
||||||
|
modules =
|
||||||
|
with self.nixosModules;
|
||||||
|
[
|
||||||
|
nvidia
|
||||||
|
nerv
|
||||||
|
nerv_quirks
|
||||||
|
]
|
||||||
|
++ mods;
|
||||||
|
};
|
||||||
|
flake.nixosConfigurations.seele = inputs.nixpkgs.lib.nixosSystem {
|
||||||
|
modules =
|
||||||
|
with self.nixosModules;
|
||||||
|
[
|
||||||
|
seele
|
||||||
|
seele_quirks
|
||||||
|
]
|
||||||
|
++ mods;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./home.nix
|
|
||||||
./gtk.nix
|
|
||||||
./services.nix
|
|
||||||
./qt.nix
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
@ -1,24 +0,0 @@
|
||||||
{ pkgs, config, inputs, ... }: {
|
|
||||||
gtk = {
|
|
||||||
enable = true;
|
|
||||||
colorScheme = "dark";
|
|
||||||
theme = {
|
|
||||||
name = "adw-gtk3-dark";
|
|
||||||
package = pkgs.adw-gtk3;
|
|
||||||
};
|
|
||||||
iconTheme = {
|
|
||||||
name = "Papirus-Dark";
|
|
||||||
package = pkgs.papirus-icon-theme;
|
|
||||||
};
|
|
||||||
font = {
|
|
||||||
name = config.theming.font;
|
|
||||||
package = config.theming.fontPackage;
|
|
||||||
size = 12;
|
|
||||||
};
|
|
||||||
cursorTheme.name = "macOS";
|
|
||||||
cursorTheme.size = 24;
|
|
||||||
gtk3.extraCss = builtins.readFile (config.scheme inputs.tt-gtk);
|
|
||||||
gtk4.extraCss = builtins.readFile (config.scheme inputs.tt-gtk);
|
|
||||||
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,23 +0,0 @@
|
||||||
{
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
nixd
|
|
||||||
nixfmt
|
|
||||||
clang
|
|
||||||
kdePackages.qtdeclarative
|
|
||||||
grim
|
|
||||||
slurp
|
|
||||||
jq
|
|
||||||
wl-clipboard
|
|
||||||
];
|
|
||||||
home.stateVersion = "26.05";
|
|
||||||
home.pointerCursor = {
|
|
||||||
enable = true;
|
|
||||||
name = "macOS";
|
|
||||||
package = pkgs.apple-cursor;
|
|
||||||
size = 24;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
10
modules/home/programs/btop.nix
Normal file
10
modules/home/programs/btop.nix
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
{...} : {
|
||||||
|
flake.homeModules.btop = {
|
||||||
|
programs.btop = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
theme_background = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
12
modules/home/programs/clangd.nix
Normal file
12
modules/home/programs/clangd.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
{ ... }: {
|
||||||
|
flake.homeModules.clangd = {
|
||||||
|
home.file."clangd" = {
|
||||||
|
text = ''
|
||||||
|
BreakBeforeBraces: Allman
|
||||||
|
IndentWidth: 8
|
||||||
|
'';
|
||||||
|
target = ".clang-format";
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
110
modules/home/programs/emacs.nix
Normal file
110
modules/home/programs/emacs.nix
Normal file
|
|
@ -0,0 +1,110 @@
|
||||||
|
{ ... }: {
|
||||||
|
|
||||||
|
flake.homeModules.emacs = { pkgs, ... }: {
|
||||||
|
programs.emacs = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.emacs-pgtk;
|
||||||
|
extraPackages =
|
||||||
|
epkgs: with epkgs; [
|
||||||
|
eldoc-box
|
||||||
|
elisp-autofmt
|
||||||
|
corfu
|
||||||
|
cape
|
||||||
|
nix-mode
|
||||||
|
envrc
|
||||||
|
elcord
|
||||||
|
qml-mode
|
||||||
|
lua-mode
|
||||||
|
];
|
||||||
|
extraConfig = ''
|
||||||
|
;; -*- lexical-binding: t; -*-
|
||||||
|
(setq make-backup-files nil)
|
||||||
|
(require 'package)
|
||||||
|
(add-to-list 'package-archives
|
||||||
|
'("melpa-snapshots"
|
||||||
|
.
|
||||||
|
"https://snapshots.melpa.org/packages/")
|
||||||
|
t)
|
||||||
|
;; add packages
|
||||||
|
(use-package org-view-mode)
|
||||||
|
(use-package envrc)
|
||||||
|
|
||||||
|
(use-package nix-mode)
|
||||||
|
(use-package
|
||||||
|
eldoc-box
|
||||||
|
:hook (eglot-managed-mode . eldoc-box-hover-mode)
|
||||||
|
)
|
||||||
|
(use-package
|
||||||
|
elisp-autofmt
|
||||||
|
:commands (elisp-autofmt-buffer elisp-autofmt-mode)
|
||||||
|
:hook (emacs-lisp-mode . elisp-autofmt-mode)
|
||||||
|
:config)
|
||||||
|
(use-package
|
||||||
|
corfu
|
||||||
|
:init
|
||||||
|
(setq
|
||||||
|
corfu-auto t
|
||||||
|
corfu-auto-prefix 1
|
||||||
|
corfu-auto-delay 0.2)
|
||||||
|
(global-corfu-mode))
|
||||||
|
|
||||||
|
(setq tab-always-indent 'complete)
|
||||||
|
(use-package
|
||||||
|
cape
|
||||||
|
:bind ("C-c p" . cape-prefix-map) ;; Alternative key: M-<tab>, M-p, M-+
|
||||||
|
:init (add-hook 'completion-at-point-functions #'cape-file))
|
||||||
|
(setq corfu-auto-prefix 2)
|
||||||
|
(use-package qml-mode)
|
||||||
|
(use-package lua-mode)
|
||||||
|
(use-package elcord :init (elcord-mode))
|
||||||
|
|
||||||
|
(add-to-list
|
||||||
|
'display-buffer-alist
|
||||||
|
'("\\*compilation\\*" (display-buffer-reuse-window
|
||||||
|
display-buffer-below-selected)
|
||||||
|
(window-height . 0.3)))
|
||||||
|
|
||||||
|
|
||||||
|
;; remove useless shit and set default opts
|
||||||
|
(setq org-hide-emphasis-markers t)
|
||||||
|
(setq ring-bell-function 'ignore)
|
||||||
|
(menu-bar-mode -1)
|
||||||
|
(tool-bar-mode -1)
|
||||||
|
(setq display-line-numbers-type 'relative)
|
||||||
|
(global-display-line-numbers-mode +1)
|
||||||
|
(global-tab-line-mode 1)
|
||||||
|
(scroll-bar-mode -1)
|
||||||
|
(setq inhibit-splash-screen 1)
|
||||||
|
(setq custom-file "~/.emacs.d/custom.el")
|
||||||
|
(load custom-file 'noerror)
|
||||||
|
|
||||||
|
|
||||||
|
;; lsp shit
|
||||||
|
(add-hook 'nix-mode-hook #'eglot-ensure)
|
||||||
|
(add-hook 'c-mode-hook #'eglot-ensure)
|
||||||
|
(add-hook 'qml-mode-hook #'eglot-ensure)
|
||||||
|
(with-eval-after-load 'eglot
|
||||||
|
(add-to-list 'eglot-server-programs '(nix-mode . ("nixd")))
|
||||||
|
(add-to-list 'eglot-server-programs '(qml-mode . ("qmlls"))))
|
||||||
|
|
||||||
|
;; keybindings
|
||||||
|
(keymap-global-set "C-c f" 'eglot-format)
|
||||||
|
(keymap-global-set "C-c t" 'term)
|
||||||
|
(keymap-global-set "C-c c" 'compile)
|
||||||
|
(keymap-global-set "C-c k b" 'kill-current-buffer)
|
||||||
|
(keymap-global-set "C-c k w" 'kill-buffer-and-window)
|
||||||
|
(keymap-global-set "C-c v" 'org-view-mode)
|
||||||
|
(windmove-default-keybindings)
|
||||||
|
;; replace dashes with bullets in org mode
|
||||||
|
(font-lock-add-keywords 'org-mode
|
||||||
|
'(("^ +\\([-*]\\) "
|
||||||
|
(0 (prog1 () (compose-region (match-beginning 1) (match-end 1) "•"))))))
|
||||||
|
|
||||||
|
(setq org-view-prettify-credentials nil)
|
||||||
|
(setq org-view-hide-keywords nil)
|
||||||
|
(envrc-global-mode)
|
||||||
|
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
12
modules/home/programs/fuzzel.nix
Normal file
12
modules/home/programs/fuzzel.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
{...}: {
|
||||||
|
flake.homeModules.fuzzel = {
|
||||||
|
programs.fuzzel = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
main = {
|
||||||
|
dpi_aware = "no";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
15
modules/home/programs/ghostty.nix
Normal file
15
modules/home/programs/ghostty.nix
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
{ ... }: {
|
||||||
|
flake.homeModules.ghostty = {
|
||||||
|
programs.ghostty = {
|
||||||
|
enable = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
systemd.enable = true;
|
||||||
|
settings = {
|
||||||
|
quit-after-last-window-closed = false;
|
||||||
|
window-padding-x = 15;
|
||||||
|
window-padding-y = 15;
|
||||||
|
confirm-close-surface = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
11
modules/home/programs/git.nix
Normal file
11
modules/home/programs/git.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
{ ... }: {
|
||||||
|
flake.homeModules.git = {
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
user.name = "lucy";
|
||||||
|
user.email = "lucykaufmann@protonmail.com";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
8
modules/home/programs/hermes.nix
Normal file
8
modules/home/programs/hermes.nix
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
{ inputs, ... }: {
|
||||||
|
flake.homeModules.hermes = { pkgs, ... }: {
|
||||||
|
imports = [ inputs.hermes-agent.homeManagerModules.default ];
|
||||||
|
programs.hermes-agent = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
197
modules/home/programs/niri.nix
Normal file
197
modules/home/programs/niri.nix
Normal file
|
|
@ -0,0 +1,197 @@
|
||||||
|
{ ... }: {
|
||||||
|
flake.homeModules.niri = { config, lib, ... }: {
|
||||||
|
wayland.windowManager.niri = {
|
||||||
|
enable = true;
|
||||||
|
systemd.enable = true;
|
||||||
|
settings = {
|
||||||
|
prefer-no-csd = { };
|
||||||
|
hotkey-overlay.skip-at-startup = { };
|
||||||
|
environment = {
|
||||||
|
XDG_CURRENT_DESKTOP = "niri";
|
||||||
|
XDG_SESSION_TYPE = "wayland";
|
||||||
|
XDG_SESSION_DESKTOP = "niri";
|
||||||
|
};
|
||||||
|
cursor = {
|
||||||
|
xcursor-size = 24;
|
||||||
|
xcursor-theme = "macOS";
|
||||||
|
};
|
||||||
|
input = {
|
||||||
|
keyboard.xkb.layout = "eu";
|
||||||
|
touchpad = {
|
||||||
|
tap = { };
|
||||||
|
natural-scroll = { };
|
||||||
|
};
|
||||||
|
tablet = {
|
||||||
|
map-to-output = "PNP(BNQ) BenQ EX2710Q K6R04023019";
|
||||||
|
};
|
||||||
|
mouse = {
|
||||||
|
accel-speed = -0.4;
|
||||||
|
accel-profile = "flat";
|
||||||
|
};
|
||||||
|
focus-follows-mouse._props.max-scroll-amount = "20%";
|
||||||
|
};
|
||||||
|
screenshot-path = null;
|
||||||
|
animations = { };
|
||||||
|
layout = {
|
||||||
|
gaps = 16;
|
||||||
|
center-focused-column = "never";
|
||||||
|
default-column-width._children = [ { proportion = 0.6; } ];
|
||||||
|
focus-ring.off = { };
|
||||||
|
border = {
|
||||||
|
width = 2;
|
||||||
|
active-color = config.lib.stylix.colors.base0D;
|
||||||
|
inactive-color = config.lib.stylix.colors.base03;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
binds = {
|
||||||
|
"Mod+Return".spawn-sh = "ghostty +new-window";
|
||||||
|
"Mod+space".spawn = [ "fuzzel" ];
|
||||||
|
"Mod+e".spawn = [ "nautilus" ];
|
||||||
|
"XF86AudioRaiseVolume" = {
|
||||||
|
_props.allow-when-locked = true;
|
||||||
|
spawn-sh = "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+ -l 1.0";
|
||||||
|
};
|
||||||
|
"XF86AudioLowerVolume" = {
|
||||||
|
_props.allow-when-locked = true;
|
||||||
|
spawn-sh = "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-";
|
||||||
|
};
|
||||||
|
"XF86AudioMute" = {
|
||||||
|
_props.allow-when-locked = true;
|
||||||
|
spawn-sh = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
||||||
|
};
|
||||||
|
"XF86AudioMicMute" = {
|
||||||
|
_props.allow-when-locked = true;
|
||||||
|
spawn-sh = "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle";
|
||||||
|
};
|
||||||
|
"XF86AudioPlay" = {
|
||||||
|
_props.allow-when-locked = true;
|
||||||
|
spawn-sh = "playerctl play-pause";
|
||||||
|
};
|
||||||
|
"XF86AudioStop" = {
|
||||||
|
_props.allow-when-locked = true;
|
||||||
|
spawn-sh = "playerctl stop";
|
||||||
|
};
|
||||||
|
"XF86AudioPrev" = {
|
||||||
|
_props.allow-when-locked = true;
|
||||||
|
spawn-sh = "playerctl previous";
|
||||||
|
};
|
||||||
|
"XF86AudioNext" = {
|
||||||
|
_props.allow-when-locked = true;
|
||||||
|
spawn-sh = "playerctl next";
|
||||||
|
};
|
||||||
|
"XF86MonBrightnessUp" = {
|
||||||
|
_props.allow-when-locked = true;
|
||||||
|
spawn = [
|
||||||
|
"brightnessctl"
|
||||||
|
"--class=backlight"
|
||||||
|
"set"
|
||||||
|
"+10%"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"XF86MonBrightnessDown" = {
|
||||||
|
_props.allow-when-locked = true;
|
||||||
|
spawn = [
|
||||||
|
"brightnessctl"
|
||||||
|
"--class=backlight"
|
||||||
|
"set"
|
||||||
|
"10%-"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"Mod+O" = {
|
||||||
|
_props.repeat = false;
|
||||||
|
toggle-overview = { };
|
||||||
|
};
|
||||||
|
"Mod+Q" = {
|
||||||
|
_props.repeat = false;
|
||||||
|
close-window = { };
|
||||||
|
};
|
||||||
|
"Mod+Left".focus-column-left = { };
|
||||||
|
"Mod+Down".focus-window-down = { };
|
||||||
|
"Mod+Up".focus-window-up = { };
|
||||||
|
"Mod+Right".focus-column-right = { };
|
||||||
|
"Mod+H".focus-column-left = { };
|
||||||
|
"Mod+J".focus-window-down = { };
|
||||||
|
"Mod+K".focus-window-up = { };
|
||||||
|
"Mod+L".focus-column-right = { };
|
||||||
|
"Mod+Ctrl+Left".move-column-left = { };
|
||||||
|
"Mod+Ctrl+Down".move-window-down = { };
|
||||||
|
"Mod+Ctrl+Up".move-window-up = { };
|
||||||
|
"Mod+Ctrl+Right".move-column-right = { };
|
||||||
|
"Mod+Ctrl+H".move-column-left = { };
|
||||||
|
"Mod+Ctrl+J".move-window-down = { };
|
||||||
|
"Mod+Ctrl+K".move-window-up = { };
|
||||||
|
"Mod+Ctrl+L".move-column-right = { };
|
||||||
|
"Mod+comma".focus-monitor-left = { };
|
||||||
|
"Mod+period".focus-monitor-right = { };
|
||||||
|
"Mod+Shift+comma".move-column-to-monitor-left = { };
|
||||||
|
"Mod+Shift+period".move-column-to-monitor-right = { };
|
||||||
|
"Mod+Shift+WheelScrollDown".focus-column-right = { };
|
||||||
|
"Mod+Shift+WheelScrollUp".focus-column-left = { };
|
||||||
|
"Mod+1".focus-workspace = 1;
|
||||||
|
"Mod+2".focus-workspace = 2;
|
||||||
|
"Mod+3".focus-workspace = 3;
|
||||||
|
"Mod+4".focus-workspace = 4;
|
||||||
|
"Mod+5".focus-workspace = 5;
|
||||||
|
"Mod+6".focus-workspace = 6;
|
||||||
|
"Mod+7".focus-workspace = 7;
|
||||||
|
"Mod+8".focus-workspace = 8;
|
||||||
|
"Mod+9".focus-workspace = 9;
|
||||||
|
"Mod+Shift+1".move-column-to-workspace = 1;
|
||||||
|
"Mod+Shift+2".move-column-to-workspace = 2;
|
||||||
|
"Mod+Shift+3".move-column-to-workspace = 3;
|
||||||
|
"Mod+Shift+4".move-column-to-workspace = 4;
|
||||||
|
"Mod+Shift+5".move-column-to-workspace = 5;
|
||||||
|
"Mod+Shift+6".move-column-to-workspace = 6;
|
||||||
|
"Mod+Shift+7".move-column-to-workspace = 7;
|
||||||
|
"Mod+Shift+8".move-column-to-workspace = 8;
|
||||||
|
"Mod+Shift+9".move-column-to-workspace = 9;
|
||||||
|
"Mod+BracketLeft".consume-or-expel-window-left = { };
|
||||||
|
"Mod+BracketRight".consume-or-expel-window-right = { };
|
||||||
|
"Mod+F".maximize-column = { };
|
||||||
|
"Mod+Minus".set-column-width = "-10%";
|
||||||
|
"Mod+Equal".set-column-width = "+10%";
|
||||||
|
"Mod+V".toggle-window-floating = { };
|
||||||
|
"Mod+Shift+S".screenshot = { };
|
||||||
|
"Alt+Shift+S".screenshot-screen = { };
|
||||||
|
"Alt+Ctrl+S".screenshot-window = { };
|
||||||
|
"Mod+Shift+q".quit = { };
|
||||||
|
};
|
||||||
|
_children = [
|
||||||
|
{
|
||||||
|
output = {
|
||||||
|
_args = [ "PNP(BNQ) BenQ EX2710Q K6R04023019" ];
|
||||||
|
mode = "2560x1440@165.002";
|
||||||
|
scale = 1;
|
||||||
|
transform = "normal";
|
||||||
|
position._props = {
|
||||||
|
x = 1920;
|
||||||
|
y = 0;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
output = {
|
||||||
|
_args = [ "Dell Inc. DELL P2317H 9KFDW6C533DB" ];
|
||||||
|
position._props = {
|
||||||
|
x = 0;
|
||||||
|
y = 0;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
output = {
|
||||||
|
_args = [ "eDP-1" ];
|
||||||
|
scale = 1;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
window-rule._children = [
|
||||||
|
{ geometry-corner-radius = 16; }
|
||||||
|
{ clip-to-geometry = true; }
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
14
modules/home/programs/nixcord.nix
Normal file
14
modules/home/programs/nixcord.nix
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
{ inputs, ... }: {
|
||||||
|
flake.homeModules.nixcord = {
|
||||||
|
imports = [ inputs.nixcord.homeModules.nixcord ];
|
||||||
|
programs.nixcord = {
|
||||||
|
enable = true;
|
||||||
|
discord.enable = false;
|
||||||
|
vesktop.enable = true;
|
||||||
|
config.plugins = {
|
||||||
|
messageLogger.enable = true;
|
||||||
|
messageClickActions.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
9
modules/home/programs/quickshell.nix
Normal file
9
modules/home/programs/quickshell.nix
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
{ ... }: {
|
||||||
|
|
||||||
|
flake.homeModules.quickshell = {
|
||||||
|
programs.quickshell = {
|
||||||
|
enable = true;
|
||||||
|
systemd.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
8
modules/home/programs/spotify.nix
Normal file
8
modules/home/programs/spotify.nix
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
{ inputs, ... }: {
|
||||||
|
flake.homeModules.spotify = {
|
||||||
|
imports = [ inputs.spicetify-nix.homeManagerModules.spicetify ];
|
||||||
|
programs.spicetify = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
{pkgs, ...}: {
|
|
||||||
qt = {
|
|
||||||
enable = true;
|
|
||||||
platformTheme = {
|
|
||||||
name = "gtk3";
|
|
||||||
};
|
|
||||||
qt5ctSettings = {
|
|
||||||
Appearance = {
|
|
||||||
icon_theme = "Papirus-Dark";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
qt6ctSettings = {
|
|
||||||
Appearance = {
|
|
||||||
icon_theme = "Papirus-Dark";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
set -euo pipefail
|
|
||||||
|
|
||||||
case "${1:-fullscreen}" in
|
|
||||||
region)
|
|
||||||
g=$(slurp -d); [ -z "$g" ] && exit 1
|
|
||||||
grim -g "$g" - | wl-copy ;;
|
|
||||||
window)
|
|
||||||
g=$(mmsg get focusing-client | jq -r '"\(.x),\(.y) \(.width)x\(.height)"')
|
|
||||||
[ -z "$g" ] && exit 1
|
|
||||||
grim -g "$g" - | wl-copy ;;
|
|
||||||
output)
|
|
||||||
grim -o "$(mmsg get cursorpos | jq -r .monitor)" - | wl-copy;;
|
|
||||||
*) grim - | wl-copy;;
|
|
||||||
esac
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
{ pkgs, config, ... }: {
|
|
||||||
services.syncthing = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
devices = {
|
|
||||||
cyberia = {
|
|
||||||
id = "OOJBAJU-AAIKLHO-BKMMHBU-2NXE75Z-HE64A6V-LET4ZXB-Q2FT2Y4-GZON3AD";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
services.polkit-gnome.enable = true;
|
|
||||||
dconf.settings."org/gnome/desktop/interface".color-scheme = "prefer-dark";
|
|
||||||
}
|
|
||||||
12
modules/home/services/syncthing.nix
Normal file
12
modules/home/services/syncthing.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
{ ... }: {
|
||||||
|
flake.homeModules.syncthing = {
|
||||||
|
services.syncthing = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
devices = {
|
||||||
|
cyberia.id = "5SW5N7Z-BGTZD37-5ELRQVE-PBRK3O5-M4CGYLZ-R3KCVVS-AM5QD2G-WTQYKA7";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
13
modules/home/stylix/targets.nix
Normal file
13
modules/home/stylix/targets.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
{inputs, ...}: {
|
||||||
|
flake.homeModules.stylix = {
|
||||||
|
stylix.targets = {
|
||||||
|
ghostty.enable = true;
|
||||||
|
fuzzel.enable = true;
|
||||||
|
gtk.enable = true;
|
||||||
|
qt.enable = true;
|
||||||
|
emacs.enable = true;
|
||||||
|
nixcord.enable = true;
|
||||||
|
spicetify.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,85 +0,0 @@
|
||||||
{
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
inputs,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
boot.loader.systemd-boot.enable = true;
|
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
|
||||||
networking.networkmanager.enable = true;
|
|
||||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
|
||||||
security.polkit = {
|
|
||||||
enable = true;
|
|
||||||
enablePkexecWrapper = true;
|
|
||||||
};
|
|
||||||
nix.settings.experimental-features = [
|
|
||||||
"nix-command"
|
|
||||||
"flakes"
|
|
||||||
];
|
|
||||||
xdg.portal.wlr.settings.screencast = {
|
|
||||||
chooser_type = "dmenu";
|
|
||||||
chooser_cmd = "${pkgs.fuzzel}/bin/fuzzel --dmenu --lines 12 --prompt 'Share: '";
|
|
||||||
};
|
|
||||||
hardware.graphics.enable = true;
|
|
||||||
time.timeZone = "Europe/Berlin";
|
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
|
||||||
services.displayManager.gdm.enable = true;
|
|
||||||
programs.starship.enable = true;
|
|
||||||
programs.mango.enable = true;
|
|
||||||
services.upower.enable = true;
|
|
||||||
services.xserver.xkb.layout = "us";
|
|
||||||
services.pipewire = {
|
|
||||||
enable = true;
|
|
||||||
alsa.enable = true;
|
|
||||||
pulse.enable = true;
|
|
||||||
};
|
|
||||||
security.rtkit.enable = true;
|
|
||||||
programs.zsh.enable = true;
|
|
||||||
environment.pathsToLink = [ "/share/zsh" ];
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
|
||||||
users.users.lucy = {
|
|
||||||
isNormalUser = true;
|
|
||||||
extraGroups = [ "wheel" ];
|
|
||||||
shell = pkgs.zsh;
|
|
||||||
packages = [
|
|
||||||
inputs.helium.packages.${pkgs.stdenv.hostPlatform.system}.default
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
fastfetch
|
|
||||||
wget
|
|
||||||
git
|
|
||||||
clang
|
|
||||||
xournalpp
|
|
||||||
ripgrep
|
|
||||||
bat
|
|
||||||
ani-cli
|
|
||||||
nautilus
|
|
||||||
kdePackages.plasma-sdk
|
|
||||||
];
|
|
||||||
programs.xppen = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.xppen_4.overrideAttrs (old: {
|
|
||||||
src = pkgs.fetchurl {
|
|
||||||
url = "https://download01.xp-pen.com/file/2026/04/XPPenLinux4.0.15-260422.tar.gz";
|
|
||||||
hash = "sha256-Jady+pbqnzmVMuM0Io4/aE5B7dqNlDKPsnRj/Fbln6U=";
|
|
||||||
};
|
|
||||||
buildInputs = (old.buildInputs or [ ]) ++ [
|
|
||||||
pkgs.libXtst
|
|
||||||
pkgs.libXrandr
|
|
||||||
];
|
|
||||||
});
|
|
||||||
};
|
|
||||||
fonts.packages = [
|
|
||||||
config.theming.fontPackage
|
|
||||||
pkgs.noto-fonts
|
|
||||||
pkgs.noto-fonts-cjk-sans
|
|
||||||
pkgs.noto-fonts-color-emoji
|
|
||||||
pkgs.nerd-fonts.symbols-only
|
|
||||||
];
|
|
||||||
system.stateVersion = "26.05";
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,24 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
inputs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./hardware-configuration.nix
|
|
||||||
../base/configuration.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.loader.systemd-boot.enable = lib.mkForce false;
|
|
||||||
boot.loader.limine.enable = true;
|
|
||||||
boot.loader.limine.secureBoot.enable = true;
|
|
||||||
boot.loader.limine.extraEntries = ''
|
|
||||||
/Windows 11
|
|
||||||
protocol: efi
|
|
||||||
path: guid(c0016650-4bd8-4677-88cd-8eed4c897f03):/EFI/Microsoft/Boot/bootmgfw.efi
|
|
||||||
'';
|
|
||||||
networking.hostName = "nerv";
|
|
||||||
}
|
|
||||||
|
|
@ -1,31 +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" "ahci" "xhci_pci" "usbhid" "sd_mod" ];
|
|
||||||
boot.initrd.kernelModules = [ ];
|
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
|
||||||
boot.extraModulePackages = [ ];
|
|
||||||
|
|
||||||
fileSystems."/" =
|
|
||||||
{ device = "/dev/disk/by-uuid/a91a4338-b1a9-4964-879f-3908b44c4636";
|
|
||||||
fsType = "xfs";
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/boot" =
|
|
||||||
{ device = "/dev/disk/by-uuid/B318-A112";
|
|
||||||
fsType = "vfat";
|
|
||||||
options = [ "fmask=0077" "dmask=0077" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices = [ ];
|
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
|
||||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
|
||||||
}
|
|
||||||
|
|
@ -1,35 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
# Include the results of the hardware scan.
|
|
||||||
./hardware-configuration.nix
|
|
||||||
../base/configuration.nix
|
|
||||||
];
|
|
||||||
services.tlp = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
CPU_SCALING_GOVERNOR_ON_AC = "performance";
|
|
||||||
CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
|
|
||||||
|
|
||||||
CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
|
|
||||||
CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
|
|
||||||
|
|
||||||
CPU_MIN_PERF_ON_AC = 0;
|
|
||||||
CPU_MAX_PERF_ON_AC = 100;
|
|
||||||
CPU_MIN_PERF_ON_BAT = 0;
|
|
||||||
CPU_MAX_PERF_ON_BAT = 60;
|
|
||||||
|
|
||||||
};
|
|
||||||
};
|
|
||||||
systemd.sleep.settings.Sleep = {
|
|
||||||
HibernateDelaySec = "1h";
|
|
||||||
};
|
|
||||||
boot.resumeDevice = "/dev/disk/by-uuid/db947ed5-ae76-4cd6-8430-5fd4d3efab5f";
|
|
||||||
networking.hostName = "seele"; # Define your hostname.
|
|
||||||
}
|
|
||||||
|
|
@ -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.
|
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports =
|
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "sdhci_pci" ];
|
|
||||||
boot.initrd.kernelModules = [ ];
|
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
|
||||||
boot.extraModulePackages = [ ];
|
|
||||||
|
|
||||||
fileSystems."/" =
|
|
||||||
{ device = "/dev/disk/by-uuid/8e26be6b-4dff-4c85-9ab8-4765e1b2b581";
|
|
||||||
fsType = "xfs";
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/boot" =
|
|
||||||
{ device = "/dev/disk/by-uuid/9472-595A";
|
|
||||||
fsType = "vfat";
|
|
||||||
options = [ "fmask=0022" "dmask=0022" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices =
|
|
||||||
[ { device = "/dev/disk/by-uuid/db947ed5-ae76-4cd6-8430-5fd4d3efab5f"; }
|
|
||||||
];
|
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
|
||||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
|
||||||
}
|
|
||||||
10
modules/parts.nix
Normal file
10
modules/parts.nix
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
config = {
|
||||||
|
systems = [
|
||||||
|
"x86_64-linux"
|
||||||
|
"x86_64-darwin"
|
||||||
|
"aarch64-linux"
|
||||||
|
"aarch64-darwin"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
{ inputs, ... }: {
|
|
||||||
imports = [
|
|
||||||
inputs.mango.hmModules.mango
|
|
||||||
./foot.nix
|
|
||||||
./niri.nix
|
|
||||||
./emacs.nix
|
|
||||||
./fuzzel.nix
|
|
||||||
./quickshell.nix
|
|
||||||
./nixcord.nix
|
|
||||||
./mango.nix
|
|
||||||
./zsh.nix
|
|
||||||
./git.nix
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
@ -1,79 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
programs.emacs = {
|
|
||||||
enable = true;
|
|
||||||
extraPackages =
|
|
||||||
epkgs: with epkgs.melpaPackages; [
|
|
||||||
corfu
|
|
||||||
cape
|
|
||||||
qml-mode
|
|
||||||
lua-mode
|
|
||||||
elcord
|
|
||||||
nix-mode
|
|
||||||
base16-theme
|
|
||||||
];
|
|
||||||
|
|
||||||
extraConfig = ''
|
|
||||||
;;; -*- lexical-binding: t; -*-
|
|
||||||
(add-to-list 'default-frame-alist '(font . "${config.theming.font}-14"))
|
|
||||||
(setq make-backup-files nil)
|
|
||||||
(load-theme 'base16-${config.scheme.scheme-slug} t)
|
|
||||||
(use-package
|
|
||||||
corfu
|
|
||||||
:init
|
|
||||||
(setq
|
|
||||||
corfu-auto t
|
|
||||||
corfu-auto-delay 0.2)
|
|
||||||
(global-corfu-mode))
|
|
||||||
|
|
||||||
(setq tab-always-indent 'complete)
|
|
||||||
(use-package
|
|
||||||
cape
|
|
||||||
:bind ("C-c p" . cape-prefix-map) ;; Alternative key: M-<tab>, M-p, M-+
|
|
||||||
:init (add-hook 'completion-at-point-functions #'cape-file))
|
|
||||||
(setq corfu-auto-prefix 2)
|
|
||||||
(use-package qml-mode)
|
|
||||||
(use-package lua-mode)
|
|
||||||
(use-package elcord :init (elcord-mode))
|
|
||||||
(setq initial-buffer-choice "~/")
|
|
||||||
(add-to-list
|
|
||||||
'display-buffer-alist
|
|
||||||
'("\\*compilation\\*" (display-buffer-reuse-window
|
|
||||||
display-buffer-below-selected)
|
|
||||||
(window-height . 0.3)))
|
|
||||||
|
|
||||||
|
|
||||||
;; remove useless shit and set default opts
|
|
||||||
(setq ring-bell-function 'ignore)
|
|
||||||
(menu-bar-mode -1)
|
|
||||||
(tool-bar-mode -1)
|
|
||||||
(setq display-line-numbers-type 'relative)
|
|
||||||
(global-display-line-numbers-mode +1)
|
|
||||||
|
|
||||||
(global-tab-line-mode 1)
|
|
||||||
(scroll-bar-mode -1)
|
|
||||||
(setq custom-file "~/.emacs.d/custom.el")
|
|
||||||
(load custom-file 'noerror)
|
|
||||||
|
|
||||||
|
|
||||||
;; lsp shit
|
|
||||||
(add-hook 'nix-mode-hook #'eglot-ensure)
|
|
||||||
(add-hook 'c-mode-hook #'eglot-ensure)
|
|
||||||
(add-hook 'qml-mode-hook #'eglot-ensure)
|
|
||||||
(with-eval-after-load 'eglot
|
|
||||||
(add-to-list 'eglot-server-programs '(nix-mode . ("nixd")))
|
|
||||||
(add-to-list 'eglot-server-programs '(qml-mode . ("qmlls"))))
|
|
||||||
|
|
||||||
;; keybindings
|
|
||||||
(keymap-global-set "C-c f" 'eglot-format)
|
|
||||||
(keymap-global-set "C-c t" 'term)
|
|
||||||
(keymap-global-set "C-c c" 'compile)
|
|
||||||
(keymap-global-set "C-c k b" 'kill-current-buffer)
|
|
||||||
(keymap-global-set "C-c k w" 'kill-buffer-and-window)
|
|
||||||
(windmove-default-keybindings)
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,47 +0,0 @@
|
||||||
{
|
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
inputs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
c = config.scheme;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
programs.foot = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
main = {
|
|
||||||
font = "${config.theming.font}:size=12";
|
|
||||||
pad = "15x15";
|
|
||||||
};
|
|
||||||
|
|
||||||
colors-dark = {
|
|
||||||
background = c.base00;
|
|
||||||
foreground = c.base05;
|
|
||||||
|
|
||||||
regular0 = c.base00;
|
|
||||||
regular1 = c.base08;
|
|
||||||
regular2 = c.base0B;
|
|
||||||
regular3 = c.base0A;
|
|
||||||
regular4 = c.base0D;
|
|
||||||
regular5 = c.base0E;
|
|
||||||
regular6 = c.base0C;
|
|
||||||
regular7 = c.base05;
|
|
||||||
|
|
||||||
bright0 = c.base03;
|
|
||||||
bright1 = c.base08;
|
|
||||||
bright2 = c.base0B;
|
|
||||||
bright3 = c.base0A;
|
|
||||||
bright4 = c.base0D;
|
|
||||||
bright5 = c.base0E;
|
|
||||||
bright6 = c.base0C;
|
|
||||||
bright7 = c.base07;
|
|
||||||
|
|
||||||
selection-foreground = c.base00;
|
|
||||||
selection-background = c.base05;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,24 +0,0 @@
|
||||||
{ config, ... }:
|
|
||||||
let
|
|
||||||
c = config.scheme.withHashtag;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
|
|
||||||
programs.fuzzel = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
main = {
|
|
||||||
font = "${config.theming.font}";
|
|
||||||
};
|
|
||||||
border.width = 2;
|
|
||||||
colors = {
|
|
||||||
background = "${c.base00}ff";
|
|
||||||
text = "${c.base05}ff";
|
|
||||||
match = "${c.base0D}ff";
|
|
||||||
selection = "${c.base0D}ff";
|
|
||||||
border = "${c.base0D}ff";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
||||||
{
|
|
||||||
programs.git = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
user.name = "lucy";
|
|
||||||
user.email = "lucykaufmann@protonmail.com";
|
|
||||||
init.defaultBranch = "main";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,139 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
c = config.scheme;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
home.file.screenshot = {
|
|
||||||
enable = true;
|
|
||||||
executable = true;
|
|
||||||
source = ../home/screenshot;
|
|
||||||
target = ".config/mango/scripts/screenshot";
|
|
||||||
};
|
|
||||||
wayland.windowManager.mango = {
|
|
||||||
enable = true;
|
|
||||||
autostart_sh = ''
|
|
||||||
# say gex
|
|
||||||
'';
|
|
||||||
settings = {
|
|
||||||
monitorrule = [
|
|
||||||
"make:BNQ,model:BenQ EX2710Q,serial:K6R04023019,x:0,y:0,width:2560,height:1440,refresh:165,scale:1.00"
|
|
||||||
"serial:9KFDW6C533DB,x:2560,y:0"
|
|
||||||
];
|
|
||||||
rootcolor = "0x${c.base00}ff";
|
|
||||||
bordercolor = "0x${c.base02}ff";
|
|
||||||
focuscolor = "0x${c.base0D}ff";
|
|
||||||
dropcolor = "0x${c.base09}ff";
|
|
||||||
cursor_theme = "macOS";
|
|
||||||
cursor_size = 24;
|
|
||||||
border_radius = 0;
|
|
||||||
borderpx = 4;
|
|
||||||
animations = 1;
|
|
||||||
layer_animations = 0;
|
|
||||||
animation_type_open = "slide";
|
|
||||||
animation_type_close = "slide";
|
|
||||||
animation_fade_in = 1;
|
|
||||||
animation_fade_out = 1;
|
|
||||||
tag_animation_direction = 1;
|
|
||||||
zoom_initial_ratio = 0.4;
|
|
||||||
zoom_end_ratio = 0.8;
|
|
||||||
fadein_begin_opacity = 0;
|
|
||||||
fadeout_begin_opacity = 1;
|
|
||||||
animation_duration_move = 500;
|
|
||||||
animation_duration_open = 400;
|
|
||||||
animation_duration_tag = 350;
|
|
||||||
animation_duration_close = 800;
|
|
||||||
animation_duration_focus = 0;
|
|
||||||
animation_curve = {
|
|
||||||
open = "0.23,1.0,0.32,1.05";
|
|
||||||
move = "0.23,1.0,0.32,1";
|
|
||||||
tag = "0.23,1.0,0.32,1.03";
|
|
||||||
close = "0.23,1.0,0.32,1";
|
|
||||||
focus = "0.23,1.0,0.32,1";
|
|
||||||
opafadeout = "0.5,0.5,0.5,0";
|
|
||||||
opafadein = "0.46,1.0,0.29,0";
|
|
||||||
};
|
|
||||||
new_is_master = 0;
|
|
||||||
tag_num = 9;
|
|
||||||
repeat_rate = 25;
|
|
||||||
repeat_delay = 250;
|
|
||||||
xkb_rules_layout = "eu";
|
|
||||||
tap_to_click = 1;
|
|
||||||
mouse_accel_profile = 1;
|
|
||||||
mouse_accel_speed = -0.4;
|
|
||||||
gappih = 5;
|
|
||||||
gappiv = 5;
|
|
||||||
gappoh = 10;
|
|
||||||
gappov = 10;
|
|
||||||
bind = [
|
|
||||||
|
|
||||||
# reload config
|
|
||||||
"SUPER,r,reload_config"
|
|
||||||
|
|
||||||
"SUPER,space,spawn,fuzzel"
|
|
||||||
"SUPER,Return,spawn,foot"
|
|
||||||
|
|
||||||
"SUPER+SHIFT,q,quit"
|
|
||||||
"SUPER,q,killclient"
|
|
||||||
|
|
||||||
"SUPER+SHIFT,S,spawn_shell,$HOME/.config/mango/scripts/screenshot region"
|
|
||||||
"ALT+SHIFT,S,spawn_shell,$HOME/.config/mango/scripts/screenshot output"
|
|
||||||
"ALT+CTRL,S,spawn_shell,$HOME/.config/mango/scripts/screenshot window"
|
|
||||||
|
|
||||||
"SUPER+SHIFT,Up,exchange_client,up"
|
|
||||||
"SUPER+SHIFT,Down,exchange_client,down"
|
|
||||||
"SUPER+SHIFT,Left,exchange_client,left"
|
|
||||||
"SUPER+SHIFT,Right,exchange_client,right"
|
|
||||||
"SUPER,Up,focusdir,up"
|
|
||||||
"SUPER,Down,focusdir,down"
|
|
||||||
"SUPER,Left,focusdir,left"
|
|
||||||
"SUPER,Right,focusdir,right"
|
|
||||||
|
|
||||||
"SUPER,v,togglefloating"
|
|
||||||
|
|
||||||
"SUPER,1,view,1,0"
|
|
||||||
"SUPER,2,view,2,0"
|
|
||||||
"SUPER,3,view,3,0"
|
|
||||||
"SUPER,4,view,4,0"
|
|
||||||
"SUPER,5,view,5,0"
|
|
||||||
"SUPER,6,view,6,0"
|
|
||||||
"SUPER,7,view,7,0"
|
|
||||||
"SUPER,8,view,8,0"
|
|
||||||
"SUPER,9,view,9,0"
|
|
||||||
|
|
||||||
"SUPER+SHIFT,1,tag,1,0"
|
|
||||||
"SUPER+SHIFT,2,tag,2,0"
|
|
||||||
"SUPER+SHIFT,3,tag,3,0"
|
|
||||||
"SUPER+SHIFT,4,tag,4,0"
|
|
||||||
"SUPER+SHIFT,5,tag,5,0"
|
|
||||||
"SUPER+SHIFT,6,tag,6,0"
|
|
||||||
"SUPER+SHIFT,7,tag,7,0"
|
|
||||||
"SUPER+SHIFT,8,tag,8,0"
|
|
||||||
"SUPER+SHIFT,9,tag,9,0"
|
|
||||||
|
|
||||||
"SUPER,comma,focusmon,left"
|
|
||||||
"SUPER,period,focusmon,right"
|
|
||||||
|
|
||||||
"NONE,XF86MonBrightnessUp,spawn,brightnessctl s +10%"
|
|
||||||
"NONE,XF86MonBrightnessDown,spawn,brightnessctl s 10%-"
|
|
||||||
|
|
||||||
"NONE,XF86AudioRaiseVolume,spawn,wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"
|
|
||||||
"NONE,XF86AudioLowerVolume,spawn,wpctl set-volume @DEFAULT_SINK@ 5%-"
|
|
||||||
"NONE,XF86AudioMute,spawn,wpctl set-mute @DEFAULT_SINK@ toggle"
|
|
||||||
"SHIFT,XF86AudioMute,spawn,wpctl set-mute @DEFAULT_SOURCE@ toggle"
|
|
||||||
|
|
||||||
"NONE,XF86AudioNext,spawn,playerctl next"
|
|
||||||
"NONE,XF86AudioPrev,spawn,playerctl previous"
|
|
||||||
"NONE,XF86AudioPlay,spawn,playerctl play-pause"
|
|
||||||
|
|
||||||
];
|
|
||||||
mousebind = [
|
|
||||||
"SUPER,btn_left,moveresize,curmove"
|
|
||||||
"SUPER,btn_right,moveresize,curresize"
|
|
||||||
"ALT,btn_left,moveresize,curresize"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,157 +0,0 @@
|
||||||
{ pkgs, config, ... }:
|
|
||||||
{
|
|
||||||
wayland.windowManager.niri = {
|
|
||||||
enable = true;
|
|
||||||
extraConfig = ''
|
|
||||||
prefer-no-csd
|
|
||||||
environment {
|
|
||||||
GTK_THEME "adw-gtk3-dark"
|
|
||||||
XDG_CURRENT_DESKTOP "niri"
|
|
||||||
XDG_SESSION_TYPE "wayland"
|
|
||||||
XDG_SESSION_DESKTOP "niri"
|
|
||||||
QT_QPA_PLATFORM "wayland;xcb"
|
|
||||||
OZONE_PLATFORM "wayland"
|
|
||||||
ELECTRON_OZONE_PLATFORM_HINT "auto"
|
|
||||||
}
|
|
||||||
cursor {
|
|
||||||
xcursor-size 24
|
|
||||||
xcursor-theme "macOS"
|
|
||||||
}
|
|
||||||
input {
|
|
||||||
keyboard {
|
|
||||||
xkb {
|
|
||||||
layout "eu"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
touchpad {
|
|
||||||
tap
|
|
||||||
natural-scroll
|
|
||||||
}
|
|
||||||
|
|
||||||
mouse {
|
|
||||||
accel-speed -0.4
|
|
||||||
accel-profile "flat"
|
|
||||||
}
|
|
||||||
focus-follows-mouse max-scroll-amount="0%"
|
|
||||||
}
|
|
||||||
|
|
||||||
output "PNP(BNQ) BenQ EX2710Q K6R04023019" {
|
|
||||||
mode "2560x1440@165.002"
|
|
||||||
scale 1
|
|
||||||
transform "normal"
|
|
||||||
position x=1920 y=0
|
|
||||||
}
|
|
||||||
output "Dell Inc. DELL P2317H 9KFDW6C533DB" {
|
|
||||||
position x=0 y=0
|
|
||||||
}
|
|
||||||
output "Samsung Display Corp. 0x4208 Unknown" {
|
|
||||||
scale 1
|
|
||||||
position x=0 y=0
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
layout {
|
|
||||||
gaps 10
|
|
||||||
center-focused-column "never"
|
|
||||||
default-column-width { proportion 0.5; }
|
|
||||||
focus-ring {
|
|
||||||
off
|
|
||||||
}
|
|
||||||
border {
|
|
||||||
width 4
|
|
||||||
active-color "${config.scheme.withHashtag.base0D}"
|
|
||||||
inactive-color "${config.scheme.withHashtag.base02}"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
screenshot-path null
|
|
||||||
animations {}
|
|
||||||
window-rule {
|
|
||||||
geometry-corner-radius 16
|
|
||||||
clip-to-geometry true
|
|
||||||
}
|
|
||||||
|
|
||||||
binds {
|
|
||||||
Mod+return { spawn "foot"; }
|
|
||||||
Mod+space { spawn "fuzzel"; }
|
|
||||||
Mod+e { spawn "nautilus"; }
|
|
||||||
|
|
||||||
XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+ -l 1.0"; }
|
|
||||||
XF86AudioLowerVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-"; }
|
|
||||||
XF86AudioMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; }
|
|
||||||
XF86AudioMicMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"; }
|
|
||||||
|
|
||||||
XF86AudioPlay allow-when-locked=true { spawn-sh "playerctl play-pause"; }
|
|
||||||
XF86AudioStop allow-when-locked=true { spawn-sh "playerctl stop"; }
|
|
||||||
XF86AudioPrev allow-when-locked=true { spawn-sh "playerctl previous"; }
|
|
||||||
XF86AudioNext allow-when-locked=true { spawn-sh "playerctl next"; }
|
|
||||||
|
|
||||||
XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "+10%"; }
|
|
||||||
XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "10%-"; }
|
|
||||||
|
|
||||||
Mod+O repeat=false { toggle-overview; }
|
|
||||||
Mod+Q repeat=false { close-window; }
|
|
||||||
|
|
||||||
Mod+Left { focus-column-left; }
|
|
||||||
Mod+Down { focus-window-down; }
|
|
||||||
Mod+Up { focus-window-up; }
|
|
||||||
Mod+Right { focus-column-right; }
|
|
||||||
Mod+H { focus-column-left; }
|
|
||||||
Mod+J { focus-window-down; }
|
|
||||||
Mod+K { focus-window-up; }
|
|
||||||
Mod+L { focus-column-right; }
|
|
||||||
Mod+Ctrl+Left { move-column-left; }
|
|
||||||
Mod+Ctrl+Down { move-window-down; }
|
|
||||||
Mod+Ctrl+Up { move-window-up; }
|
|
||||||
Mod+Ctrl+Right { move-column-right; }
|
|
||||||
Mod+Ctrl+H { move-column-left; }
|
|
||||||
Mod+Ctrl+J { move-window-down; }
|
|
||||||
Mod+Ctrl+K { move-window-up; }
|
|
||||||
mod+ctrl+l { move-column-right; }
|
|
||||||
|
|
||||||
Mod+comma { focus-monitor-left; }
|
|
||||||
Mod+period { focus-monitor-right; }
|
|
||||||
|
|
||||||
Mod+Shift+comma { move-column-to-monitor-left; }
|
|
||||||
Mod+Shift+period { move-column-to-monitor-right; }
|
|
||||||
|
|
||||||
|
|
||||||
Mod+Shift+WheelScrollDown { focus-column-right; }
|
|
||||||
Mod+Shift+WheelScrollUp { focus-column-left; }
|
|
||||||
Mod+1 { focus-workspace 1; }
|
|
||||||
Mod+2 { focus-workspace 2; }
|
|
||||||
Mod+3 { focus-workspace 3; }
|
|
||||||
Mod+4 { focus-workspace 4; }
|
|
||||||
Mod+5 { focus-workspace 5; }
|
|
||||||
Mod+6 { focus-workspace 6; }
|
|
||||||
Mod+7 { focus-workspace 7; }
|
|
||||||
Mod+8 { focus-workspace 8; }
|
|
||||||
Mod+9 { focus-workspace 9; }
|
|
||||||
Mod+Shift+1 { move-column-to-workspace 1; }
|
|
||||||
Mod+Shift+2 { move-column-to-workspace 2; }
|
|
||||||
Mod+Shift+3 { move-column-to-workspace 3; }
|
|
||||||
Mod+Shift+4 { move-column-to-workspace 4; }
|
|
||||||
Mod+Shift+5 { move-column-to-workspace 5; }
|
|
||||||
Mod+Shift+6 { move-column-to-workspace 6; }
|
|
||||||
Mod+Shift+7 { move-column-to-workspace 7; }
|
|
||||||
Mod+Shift+8 { move-column-to-workspace 8; }
|
|
||||||
Mod+Shift+9 { move-column-to-workspace 9; }
|
|
||||||
|
|
||||||
Mod+BracketLeft { consume-or-expel-window-left; }
|
|
||||||
Mod+BracketRight { consume-or-expel-window-right; }
|
|
||||||
Mod+F { maximize-column; }
|
|
||||||
|
|
||||||
Mod+Minus { set-column-width "-10%"; }
|
|
||||||
Mod+Equal { set-column-width "+10%"; }
|
|
||||||
|
|
||||||
Mod+V { toggle-window-floating; }
|
|
||||||
Mod+Shift+S { screenshot; }
|
|
||||||
Alt+Shift+S { screenshot-screen; }
|
|
||||||
Alt+Ctrl+S { screenshot-window; }
|
|
||||||
Mod+Shift+q { quit; }
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
{
|
|
||||||
inputs,
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
imports = [ inputs.nixcord.homeModules.nixcord ];
|
|
||||||
programs.nixcord = {
|
|
||||||
discord.enable = false;
|
|
||||||
enable = true;
|
|
||||||
vesktop.enable = true;
|
|
||||||
quickCss = builtins.readFile (config.scheme inputs.tt-discord);
|
|
||||||
config = {
|
|
||||||
useQuickCss = true;
|
|
||||||
plugins = {
|
|
||||||
messageLogger.enable = true;
|
|
||||||
messageClickActions.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
||||||
{ pkgs, config, ... }:
|
|
||||||
let
|
|
||||||
c = config.scheme.withHashtag;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
|
|
||||||
programs.quickshell.enable = true;
|
|
||||||
programs.quickshell.systemd.enable = true;
|
|
||||||
xdg.configFile."quickshell/Colors.js" = {
|
|
||||||
enable = true;
|
|
||||||
text = ''
|
|
||||||
const colors = {
|
|
||||||
base00: "${c.base00}",
|
|
||||||
base01: "${c.base01}",
|
|
||||||
base02: "${c.base02}",
|
|
||||||
base03: "${c.base03}",
|
|
||||||
base04: "${c.base04}",
|
|
||||||
base05: "${c.base05}",
|
|
||||||
base06: "${c.base06}",
|
|
||||||
base07: "${c.base07}",
|
|
||||||
base08: "${c.base08}",
|
|
||||||
base09: "${c.base09}",
|
|
||||||
base0A: "${c.base0A}",
|
|
||||||
base0B: "${c.base0B}",
|
|
||||||
base0C: "${c.base0C}",
|
|
||||||
base0D: "${c.base0D}",
|
|
||||||
base0E: "${c.base0E}",
|
|
||||||
base0F: "${c.base0F}",
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
force = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
||||||
{
|
|
||||||
programs.zsh = {
|
|
||||||
enable = true;
|
|
||||||
enableCompletion = true;
|
|
||||||
autosuggestion.enable = true;
|
|
||||||
syntaxHighlighting.enable = true;
|
|
||||||
oh-my-zsh.enable = true;
|
|
||||||
oh-my-zsh.theme = "gentoo";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
7
modules/system/agenix/_agenix-rules.nix
Normal file
7
modules/system/agenix/_agenix-rules.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
{ config }:
|
||||||
|
let
|
||||||
|
main = "age17hvac3hn79mwttel9snw87a20x4vguh7y7ys43xmvlhrl3mqs3wswuzlt6";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
"easyroam.age".publicKeys = [ main ];
|
||||||
|
}
|
||||||
14
modules/system/agenix/agenix.nix
Normal file
14
modules/system/agenix/agenix.nix
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
{inputs, ... }: {
|
||||||
|
flake.nixosModules.agenix = {config, ...}: {
|
||||||
|
imports = [
|
||||||
|
inputs.agenix.nixosModules.default
|
||||||
|
];
|
||||||
|
age = {
|
||||||
|
enable = true;
|
||||||
|
identityPaths = [ "/var/lib/misc/key.age" ];
|
||||||
|
secrets = {
|
||||||
|
easyroam.file = ./easyroam.age;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
BIN
modules/system/agenix/easyroam.age
Normal file
BIN
modules/system/agenix/easyroam.age
Normal file
Binary file not shown.
23
modules/system/core/boot.nix
Normal file
23
modules/system/core/boot.nix
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
{ lib, config, ... }: {
|
||||||
|
flake.nixosModules.boot = { config, ... }: {
|
||||||
|
options = {
|
||||||
|
dualBoot = lib.mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = false;
|
||||||
|
description = "wether to enable windows boot entry to limine or not";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
config.boot.loader = {
|
||||||
|
efi.canTouchEfiVariables = true;
|
||||||
|
limine = {
|
||||||
|
style.wallpapers = [ ];
|
||||||
|
enable = true;
|
||||||
|
extraEntries = lib.mkIf config.dualBoot ''
|
||||||
|
/Windows 11
|
||||||
|
protocol: efi_boot_entry
|
||||||
|
entry: Windows Boot Manager
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
30
modules/system/core/core.nix
Normal file
30
modules/system/core/core.nix
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
{ ... }: {
|
||||||
|
flake.nixosModules.core = { pkgs, ... }: {
|
||||||
|
hardware.enableRedistributableFirmware = true;
|
||||||
|
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||||
|
time.timeZone = "Europe/Berlin";
|
||||||
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
|
i18n.extraLocaleSettings = {
|
||||||
|
LC_ADDRESS = "de_DE.UTF-8";
|
||||||
|
LC_IDENTIFICATION = "de_DE.UTF-8";
|
||||||
|
LC_MEASUREMENT = "de_DE.UTF-8";
|
||||||
|
LC_MONETARY = "de_DE.UTF-8";
|
||||||
|
LC_NAME = "de_DE.UTF-8";
|
||||||
|
LC_NUMERIC = "de_DE.UTF-8";
|
||||||
|
LC_PAPER = "de_DE.UTF-8";
|
||||||
|
LC_TELEPHONE = "de_DE.UTF-8";
|
||||||
|
LC_TIME = "de_DE.UTF-8";
|
||||||
|
};
|
||||||
|
security = {
|
||||||
|
rtkit.enable = true;
|
||||||
|
polkit.enable = true; # polkit
|
||||||
|
polkit.enablePkexecWrapper = true;
|
||||||
|
};
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
nix.settings.experimental-features = [
|
||||||
|
"nix-command"
|
||||||
|
"flakes"
|
||||||
|
];
|
||||||
|
system.stateVersion = "26.05";
|
||||||
|
};
|
||||||
|
}
|
||||||
37
modules/system/core/packages.nix
Normal file
37
modules/system/core/packages.nix
Normal file
|
|
@ -0,0 +1,37 @@
|
||||||
|
{ ... }: {
|
||||||
|
flake.nixosModules.packages = { pkgs, ... }: {
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
programs.niri.enable = true;
|
||||||
|
services.displayManager.gdm.enable = true;
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
ufetch
|
||||||
|
rbw
|
||||||
|
pinentry-gnome3
|
||||||
|
nixd
|
||||||
|
nixfmt
|
||||||
|
xournalpp
|
||||||
|
chromium
|
||||||
|
wl-clipboard
|
||||||
|
polkit_gnome
|
||||||
|
xwayland-satellite
|
||||||
|
nautilus
|
||||||
|
libwacom
|
||||||
|
devenv
|
||||||
|
gcc
|
||||||
|
gdb
|
||||||
|
clang-tools
|
||||||
|
gnumake
|
||||||
|
ripgrep
|
||||||
|
jq
|
||||||
|
kdePackages.qtdeclarative
|
||||||
|
brightnessctl
|
||||||
|
libreoffice-stable
|
||||||
|
ani-cli
|
||||||
|
ryubing
|
||||||
|
];
|
||||||
|
fonts.packages = with pkgs; [
|
||||||
|
inter
|
||||||
|
noto-fonts
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
48
modules/system/core/user.nix
Normal file
48
modules/system/core/user.nix
Normal file
|
|
@ -0,0 +1,48 @@
|
||||||
|
{ inputs, self, ... }: {
|
||||||
|
flake.nixosModules.user = { pkgs, ... }: {
|
||||||
|
imports = [
|
||||||
|
inputs.home-manager.nixosModules.home-manager
|
||||||
|
];
|
||||||
|
users.users."lucy" = {
|
||||||
|
shell = pkgs.zsh;
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "lucy";
|
||||||
|
extraGroups = [
|
||||||
|
"networkmanager"
|
||||||
|
"wheel"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
home-manager.useGlobalPkgs = true;
|
||||||
|
home-manager.useUserPackages = true;
|
||||||
|
home-manager.extraSpecialArgs = { inherit inputs; };
|
||||||
|
home-manager.users.lucy = { config, lib, ... }: {
|
||||||
|
home.username = "lucy";
|
||||||
|
home.homeDirectory = "/home/lucy";
|
||||||
|
home.stateVersion = "25.11";
|
||||||
|
home.activation.reloadQuickshell = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
|
||||||
|
qs=${lib.getExe' config.programs.quickshell.package "qs"}
|
||||||
|
runtime_dir="''${XDG_RUNTIME_DIR:-/run/user/$(id -u)}"
|
||||||
|
if run --silence env XDG_RUNTIME_DIR="$runtime_dir" "$qs" ipc show; then
|
||||||
|
run --silence env XDG_RUNTIME_DIR="$runtime_dir" "$qs" ipc call config reload ||
|
||||||
|
warnEcho "Quickshell is running, but 'qs ipc call config reload' failed"
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
home-manager.sharedModules = with self.homeModules; [
|
||||||
|
btop
|
||||||
|
clangd
|
||||||
|
nixcord
|
||||||
|
ghostty
|
||||||
|
hermes
|
||||||
|
niri
|
||||||
|
emacs
|
||||||
|
git
|
||||||
|
stylix
|
||||||
|
fuzzel
|
||||||
|
quickshell
|
||||||
|
spotify
|
||||||
|
syncthing
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
15
modules/system/hardware/bluetooth.nix
Normal file
15
modules/system/hardware/bluetooth.nix
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
flake.nixosModules.bluetooth = {
|
||||||
|
hardware.bluetooth = {
|
||||||
|
enable = true;
|
||||||
|
powerOnBoot = false;
|
||||||
|
input.General.ClassicBondedOnly = false;
|
||||||
|
settings = {
|
||||||
|
General = {
|
||||||
|
Experimental = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
18
modules/system/hardware/nvidia.nix
Normal file
18
modules/system/hardware/nvidia.nix
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
{ ... }: {
|
||||||
|
flake.nixosModules.nvidia = { config, ... }: {
|
||||||
|
# Enable OpenGL
|
||||||
|
hardware.graphics = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.xserver.videoDrivers = [ "nvidia" ];
|
||||||
|
hardware.nvidia = {
|
||||||
|
modesetting.enable = true;
|
||||||
|
powerManagement.enable = false;
|
||||||
|
powerManagement.finegrained = false;
|
||||||
|
open = true;
|
||||||
|
nvidiaSettings = true;
|
||||||
|
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
43
modules/system/hosts/nerv/hardware-configuration.nix
Normal file
43
modules/system/hosts/nerv/hardware-configuration.nix
Normal file
|
|
@ -0,0 +1,43 @@
|
||||||
|
# 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, config, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
flake.nixosModules.nerv = { config, ... }: {
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [
|
||||||
|
"nvme"
|
||||||
|
"xhci_pci"
|
||||||
|
"ahci"
|
||||||
|
"usbhid"
|
||||||
|
"usb_storage"
|
||||||
|
"sd_mod"
|
||||||
|
];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" = {
|
||||||
|
device = "/dev/disk/by-uuid/48badf37-8adb-48d0-b861-fbf71cbaddd7";
|
||||||
|
fsType = "xfs";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" = {
|
||||||
|
device = "/dev/disk/by-uuid/DC66-ACA6";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [
|
||||||
|
"fmask=0077"
|
||||||
|
"dmask=0077"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [
|
||||||
|
{ device = "/dev/disk/by-uuid/3b0e79c9-e3d8-4b58-99b4-63c98309ac85"; }
|
||||||
|
];
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
8
modules/system/hosts/nerv/quirks.nix
Normal file
8
modules/system/hosts/nerv/quirks.nix
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
{ ... }: {
|
||||||
|
flake.nixosModules.nerv_quirks = { config, ... }: {
|
||||||
|
config = {
|
||||||
|
networking.hostName = "nerv";
|
||||||
|
dualBoot = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
49
modules/system/hosts/seele/hardware-configuration.nix
Normal file
49
modules/system/hosts/seele/hardware-configuration.nix
Normal file
|
|
@ -0,0 +1,49 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
{
|
||||||
|
flake.nixosModules.seele =
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
boot.initrd.availableKernelModules = [
|
||||||
|
"xhci_pci"
|
||||||
|
"nvme"
|
||||||
|
"usb_storage"
|
||||||
|
"sd_mod"
|
||||||
|
"sdhci_pci"
|
||||||
|
];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" = {
|
||||||
|
device = "/dev/disk/by-uuid/629196f0-60e9-476e-b294-0d22fd7279c4";
|
||||||
|
fsType = "xfs";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" = {
|
||||||
|
device = "/dev/disk/by-uuid/2474-C1E6";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [
|
||||||
|
"fmask=0077"
|
||||||
|
"dmask=0077"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [
|
||||||
|
{ device = "/dev/disk/by-uuid/166d1fb4-527f-4fda-a6bf-85aad4a4f917"; }
|
||||||
|
];
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
};
|
||||||
|
}
|
||||||
5
modules/system/hosts/seele/quirks.nix
Normal file
5
modules/system/hosts/seele/quirks.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
{ ... }: {
|
||||||
|
flake.nixosModules.seele_quirks = {
|
||||||
|
networking.hostName = "seele";
|
||||||
|
};
|
||||||
|
}
|
||||||
11
modules/system/programs/chromium.nix
Normal file
11
modules/system/programs/chromium.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
{ ... }: {
|
||||||
|
flake.nixosModules.chromium = {
|
||||||
|
programs.chromium = {
|
||||||
|
enable = true;
|
||||||
|
extensions = [
|
||||||
|
"nngceckbapebfimnlniiiahkandclblb" # bitwarden
|
||||||
|
"ddkjiahejlhfcafbddmgiahcphecmpfh" # ublock origin lite
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
6
modules/system/programs/default.nix
Normal file
6
modules/system/programs/default.nix
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
{ ... }: {
|
||||||
|
flake.nixosModules.programs = {
|
||||||
|
programs.niri.enable = true;
|
||||||
|
programs.direnv.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
26
modules/system/programs/gaming.nix
Normal file
26
modules/system/programs/gaming.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
{
|
||||||
|
flake.nixosModules.gaming =
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
programs.steam = {
|
||||||
|
enable = true;
|
||||||
|
extraCompatPackages = with pkgs; [ proton-ge-bin ];
|
||||||
|
protontricks.enable = true;
|
||||||
|
remotePlay.openFirewall = true;
|
||||||
|
localNetworkGameTransfers.openFirewall = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.gamescope = {
|
||||||
|
enable = true;
|
||||||
|
capSysNice = true;
|
||||||
|
enableWsi = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.gamemode.enable = true;
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
heroic # Epic-Fassung von Rocket League (braucht GE-Proton)
|
||||||
|
umu-launcher # Proton-Runtime für Heroic / Nicht-Steam-Games
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
6
modules/system/programs/nautilus.nix
Normal file
6
modules/system/programs/nautilus.nix
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
{ ... }: {
|
||||||
|
flake.nixosModules.nautilus = {
|
||||||
|
services.gvfs.enable = true;
|
||||||
|
services.udisks2.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
19
modules/system/programs/zsh.nix
Normal file
19
modules/system/programs/zsh.nix
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
{ ... }: {
|
||||||
|
flake.nixosModules.zsh = {
|
||||||
|
programs.zsh = {
|
||||||
|
enable = true;
|
||||||
|
enableCompletion = true;
|
||||||
|
autosuggestions.enable = true;
|
||||||
|
syntaxHighlighting.enable = true;
|
||||||
|
ohMyZsh = {
|
||||||
|
enable = true;
|
||||||
|
theme = "gentoo";
|
||||||
|
};
|
||||||
|
shellInit = ''
|
||||||
|
export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/rbw/ssh-agent-socket"
|
||||||
|
eval "$(devenv hook zsh)"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
system.userActivationScripts.zshrc = "touch .zshrc";
|
||||||
|
};
|
||||||
|
}
|
||||||
6
modules/system/services/base.nix
Normal file
6
modules/system/services/base.nix
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
{ ... }: {
|
||||||
|
flake.nixosModules.base_services = {
|
||||||
|
services.upower.enable = true;
|
||||||
|
services.blueman.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
16
modules/system/services/easyroam.nix
Normal file
16
modules/system/services/easyroam.nix
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
{ inputs, ... }: {
|
||||||
|
flake.nixosModules.easyroam = { config, ... }: {
|
||||||
|
imports = [
|
||||||
|
inputs.nix-easyroam.nixosModules.nix-easyroam
|
||||||
|
];
|
||||||
|
services.easyroam = {
|
||||||
|
enable = true;
|
||||||
|
pkcsFile = config.age.secrets.easyroam.path;
|
||||||
|
networkmanager.enable = true;
|
||||||
|
};
|
||||||
|
systemd.services.wpa_supplicant = {
|
||||||
|
wants = [ "easyroam-cert-setup.service" ];
|
||||||
|
after = [ "easyroam-cert-setup.service" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
10
modules/system/services/pipewire.nix
Normal file
10
modules/system/services/pipewire.nix
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
{ ... }: {
|
||||||
|
flake.nixosModules.pipewire = {
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
8
modules/system/services/tlp.nix
Normal file
8
modules/system/services/tlp.nix
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
{ ... }: {
|
||||||
|
flake.nixosModules.tlp = {
|
||||||
|
services.tlp = {
|
||||||
|
enable = true;
|
||||||
|
pd.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
22
modules/system/stylix/default.nix
Normal file
22
modules/system/stylix/default.nix
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
{ inputs, ... }: {
|
||||||
|
flake.nixosModules.stylix = { pkgs, ... }: {
|
||||||
|
imports = [
|
||||||
|
inputs.stylix.nixosModules.stylix
|
||||||
|
];
|
||||||
|
stylix = {
|
||||||
|
enable = true;
|
||||||
|
base16Scheme = "${pkgs.base16-schemes}/share/themes/tokyo-night-dark.yaml";
|
||||||
|
cursor = {
|
||||||
|
name = "macOS";
|
||||||
|
package = pkgs.apple-cursor;
|
||||||
|
size = 24;
|
||||||
|
};
|
||||||
|
icons = {
|
||||||
|
enable = true;
|
||||||
|
dark = "Papirus-Dark";
|
||||||
|
light = "Papirus-Light";
|
||||||
|
package = pkgs.papirus-icon-theme;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
26
modules/system/stylix/fonts.nix
Normal file
26
modules/system/stylix/fonts.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
{ ... }: {
|
||||||
|
flake.nixosModules.stylix_fonts = { pkgs, config, ... }: {
|
||||||
|
stylix.fonts = {
|
||||||
|
sizes.terminal = 14;
|
||||||
|
serif = {
|
||||||
|
package = config.stylix.fonts.monospace.package;
|
||||||
|
name = config.stylix.fonts.monospace.name;
|
||||||
|
};
|
||||||
|
|
||||||
|
sansSerif = {
|
||||||
|
package = config.stylix.fonts.monospace.package;
|
||||||
|
name = config.stylix.fonts.monospace.name;
|
||||||
|
};
|
||||||
|
|
||||||
|
monospace = {
|
||||||
|
package = pkgs.maple-mono.Normal-TTF;
|
||||||
|
name = "Maple Mono Normal";
|
||||||
|
};
|
||||||
|
|
||||||
|
emoji = {
|
||||||
|
package = pkgs.noto-fonts-color-emoji;
|
||||||
|
name = "Noto Color Emoji";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
15
modules/system/stylix/targets.nix
Normal file
15
modules/system/stylix/targets.nix
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
{ inputs, ... }: {
|
||||||
|
flake.nixosModules.stylix_targets = {
|
||||||
|
stylix.autoEnable = false;
|
||||||
|
stylix.targets = {
|
||||||
|
gtk.enable = true;
|
||||||
|
qt.enable = true;
|
||||||
|
chromium.enable = true;
|
||||||
|
console.enable = true;
|
||||||
|
font-packages.enable = true;
|
||||||
|
fontconfig.enable = true;
|
||||||
|
limine.enable = true;
|
||||||
|
limine.image.enable = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
BIN
modules/system/stylix/wallpaper.png
Normal file
BIN
modules/system/stylix/wallpaper.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3 MiB |
|
|
@ -1,25 +0,0 @@
|
||||||
{
|
|
||||||
lib,
|
|
||||||
inputs,
|
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
imports = [ inputs.base16.nixosModule ];
|
|
||||||
options.theming.theme = lib.mkOption {
|
|
||||||
type = lib.types.str;
|
|
||||||
apply = name: "${inputs.tt-schemes}/base16/${name}.yaml";
|
|
||||||
};
|
|
||||||
options.theming.font = lib.mkOption {
|
|
||||||
type = lib.types.str;
|
|
||||||
};
|
|
||||||
options.theming.fontPackage = lib.mkOption {
|
|
||||||
type = lib.types.package;
|
|
||||||
};
|
|
||||||
|
|
||||||
config.theming.theme = "gruvbox-dark";
|
|
||||||
config.theming.font = "Iosevka";
|
|
||||||
config.theming.fontPackage = pkgs.iosevka;
|
|
||||||
config.scheme = config.theming.theme;
|
|
||||||
}
|
|
||||||
Loading…
Reference in a new issue