deprecate stylix, fix minor gripes and bugs
This commit is contained in:
parent
6b492bad2f
commit
fb1ad8d919
42 changed files with 951 additions and 688 deletions
518
flake.lock
generated
518
flake.lock
generated
|
|
@ -1,518 +0,0 @@
|
||||||
{
|
|
||||||
"nodes": {
|
|
||||||
"base16": {
|
|
||||||
"inputs": {
|
|
||||||
"fromYaml": "fromYaml"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1755819240,
|
|
||||||
"narHash": "sha256-qcMhnL7aGAuFuutH4rq9fvAhCpJWVHLcHVZLtPctPlo=",
|
|
||||||
"owner": "SenchoPens",
|
|
||||||
"repo": "base16.nix",
|
|
||||||
"rev": "75ed5e5e3fce37df22e49125181fa37899c3ccd6",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "SenchoPens",
|
|
||||||
"repo": "base16.nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"base16-fish": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1765809053,
|
|
||||||
"narHash": "sha256-XCUQLoLfBJ8saWms2HCIj4NEN+xNsWBlU1NrEPcQG4s=",
|
|
||||||
"owner": "tomyun",
|
|
||||||
"repo": "base16-fish",
|
|
||||||
"rev": "86cbea4dca62e08fb7fd83a70e96472f92574782",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "tomyun",
|
|
||||||
"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": 1776136500,
|
|
||||||
"narHash": "sha256-r0gN2brVWA351zwMV0Flmlcd6SGMvYqFbvC3DfKFM8Y=",
|
|
||||||
"owner": "rafaelmardojai",
|
|
||||||
"repo": "firefox-gnome-theme",
|
|
||||||
"rev": "0f8ba203d475587f477e7ae12661bd8459e225b7",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "rafaelmardojai",
|
|
||||||
"repo": "firefox-gnome-theme",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-compat": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1747046372,
|
|
||||||
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
|
|
||||||
"owner": "edolstra",
|
|
||||||
"repo": "flake-compat",
|
|
||||||
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "edolstra",
|
|
||||||
"repo": "flake-compat",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-parts": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs-lib": [
|
|
||||||
"nur",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1733312601,
|
|
||||||
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-parts_2": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs-lib": [
|
|
||||||
"stylix",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1775087534,
|
|
||||||
"narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=",
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"fromYaml": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1731966426,
|
|
||||||
"narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=",
|
|
||||||
"owner": "SenchoPens",
|
|
||||||
"repo": "fromYaml",
|
|
||||||
"rev": "106af9e2f715e2d828df706c386a685698f3223b",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "SenchoPens",
|
|
||||||
"repo": "fromYaml",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"gnome-shell": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1767737596,
|
|
||||||
"narHash": "sha256-eFujfIUQDgWnSJBablOuG+32hCai192yRdrNHTv0a+s=",
|
|
||||||
"owner": "GNOME",
|
|
||||||
"repo": "gnome-shell",
|
|
||||||
"rev": "ef02db02bf0ff342734d525b5767814770d85b49",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "GNOME",
|
|
||||||
"repo": "gnome-shell",
|
|
||||||
"rev": "ef02db02bf0ff342734d525b5767814770d85b49",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"home-manager": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1778501066,
|
|
||||||
"narHash": "sha256-T0vB/D3DqGGe+ent3+3jDTIFl2SeXcga3FMcI6AxiMU=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "home-manager",
|
|
||||||
"rev": "c0729fa3f060008080b2124fd0c3b9285d53b393",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "home-manager",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nix-minecraft": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-compat": "flake-compat",
|
|
||||||
"nixpkgs": "nixpkgs",
|
|
||||||
"systems": "systems"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1778039471,
|
|
||||||
"narHash": "sha256-Arjg44jFcpSqOKK05EIxbKIjhfjou/EGF12COFU+9QA=",
|
|
||||||
"owner": "Infinidoge",
|
|
||||||
"repo": "nix-minecraft",
|
|
||||||
"rev": "87611ef4788116de05f851920c5958f0c37d5b05",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "Infinidoge",
|
|
||||||
"repo": "nix-minecraft",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1769461804,
|
|
||||||
"narHash": "sha256-msG8SU5WsBUfVVa/9RPLaymvi5bI8edTavbIq3vRlhI=",
|
|
||||||
"owner": "nixos",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "bfc1b8a4574108ceef22f02bafcf6611380c100d",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nixos",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_2": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1777954456,
|
|
||||||
"narHash": "sha256-hGdgeU2Nk87RAuZyYjyDjFL6LK7dAZN5RE9+hrDTkDU=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "549bd84d6279f9852cae6225e372cc67fb91a4c1",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"noctalia": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"noctalia-qs": [
|
|
||||||
"noctalia-qs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1778464608,
|
|
||||||
"narHash": "sha256-tZRvyaKVP0DJ9DSFrr6K/l3X74Orfirk3Jjo7+br4Qs=",
|
|
||||||
"owner": "noctalia-dev",
|
|
||||||
"repo": "noctalia-shell",
|
|
||||||
"rev": "761869a561548874fe7e293b157fd7841576b367",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "noctalia-dev",
|
|
||||||
"repo": "noctalia-shell",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"noctalia-qs": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"systems": "systems_2",
|
|
||||||
"treefmt-nix": "treefmt-nix"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1778377995,
|
|
||||||
"narHash": "sha256-uUzHDHqQF1rdVNiTa05L0mML3/d7fpbAShjCRWxbrBQ=",
|
|
||||||
"owner": "noctalia-dev",
|
|
||||||
"repo": "noctalia-qs",
|
|
||||||
"rev": "d8327a723eed6dd9aebe8e0b162126f390e827df",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "noctalia-dev",
|
|
||||||
"repo": "noctalia-qs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nur": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-parts": "flake-parts",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1778498727,
|
|
||||||
"narHash": "sha256-+36aIJntGC1irkJZX5VHQNCRZpPM1XstFbooJ7Jt7l8=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "NUR",
|
|
||||||
"rev": "eb5c3f6ac768a4be604513ef9d4cc1770ab77d66",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "NUR",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nur_2": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-parts": [
|
|
||||||
"stylix",
|
|
||||||
"flake-parts"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
|
||||||
"stylix",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1777598946,
|
|
||||||
"narHash": "sha256-X239dAGaU1+gfDj8jKH8GzlqKMcxaVfXOio+uzBOkeE=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "NUR",
|
|
||||||
"rev": "5d55af01c0f86be583931fe99207fc56c14134b3",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "NUR",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"root": {
|
|
||||||
"inputs": {
|
|
||||||
"home-manager": "home-manager",
|
|
||||||
"nix-minecraft": "nix-minecraft",
|
|
||||||
"nixpkgs": "nixpkgs_2",
|
|
||||||
"noctalia": "noctalia",
|
|
||||||
"noctalia-qs": "noctalia-qs",
|
|
||||||
"nur": "nur",
|
|
||||||
"stylix": "stylix"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"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_2",
|
|
||||||
"gnome-shell": "gnome-shell",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"nur": "nur_2",
|
|
||||||
"systems": "systems_3",
|
|
||||||
"tinted-kitty": "tinted-kitty",
|
|
||||||
"tinted-schemes": "tinted-schemes",
|
|
||||||
"tinted-tmux": "tinted-tmux",
|
|
||||||
"tinted-zed": "tinted-zed"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1778104276,
|
|
||||||
"narHash": "sha256-/DSSnU0LLmOTG/OCgGwYpxP6+5YvxRx2g/GhI4x6aCU=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "stylix",
|
|
||||||
"rev": "18ed8d270231e067fe2739998479ed5d7c659c2c",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "stylix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"systems": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681028828,
|
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"systems_2": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1689347949,
|
|
||||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default-linux",
|
|
||||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default-linux",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"systems_3": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681028828,
|
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"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": 1777041405,
|
|
||||||
"narHash": "sha256-BAGZ7ObFV/9Z61OJZun7ifPyhkuHqNuW1QIhQ8LuzCo=",
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "schemes",
|
|
||||||
"rev": "5f868b3a338b6904c47f3833b9c411be641983a8",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "schemes",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"tinted-tmux": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1777169200,
|
|
||||||
"narHash": "sha256-h7dDbIzP5hDr9v97w9PL6jdAgXawmj6krcH+959rqpU=",
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "tinted-tmux",
|
|
||||||
"rev": "f798c2dce44ef815bb6b8f05a82135c7942d35ac",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "tinted-tmux",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"tinted-zed": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1777463218,
|
|
||||||
"narHash": "sha256-Bhkozqtq3BKLqWTlmKm8uAptfX4aRGI8QX3eEL54Vpc=",
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "base16-zed",
|
|
||||||
"rev": "5768d08ed2e7944a26a958868cdb073cb8856dae",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "base16-zed",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"treefmt-nix": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"noctalia-qs",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1775636079,
|
|
||||||
"narHash": "sha256-pc20NRoMdiar8oPQceQT47UUZMBTiMdUuWrYu2obUP0=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "treefmt-nix",
|
|
||||||
"rev": "790751ff7fd3801feeaf96d7dc416a8d581265ba",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "treefmt-nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"root": "root",
|
|
||||||
"version": 7
|
|
||||||
}
|
|
||||||
31
flake.nix
31
flake.nix
|
|
@ -2,17 +2,14 @@
|
||||||
description = "NixOS configuration for all hosts";
|
description = "NixOS configuration for all hosts";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
|
||||||
|
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
nur = {
|
nur = {
|
||||||
url = "github:nix-community/NUR";
|
url = "github:nix-community/NUR";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager";
|
url = "github:nix-community/home-manager/release-25.11";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
stylix = {
|
|
||||||
url = "github:nix-community/stylix";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
noctalia = {
|
noctalia = {
|
||||||
|
|
@ -30,6 +27,7 @@
|
||||||
outputs = inputs @ {
|
outputs = inputs @ {
|
||||||
self,
|
self,
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
|
nixpkgs-unstable,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
|
|
@ -42,13 +40,6 @@
|
||||||
|
|
||||||
overlays = [
|
overlays = [
|
||||||
inputs.nur.overlays.default
|
inputs.nur.overlays.default
|
||||||
(_final: prev: {
|
|
||||||
# openldap 2.6.13 currently flakes in its test suite when bottles pulls
|
|
||||||
# in the i686 variant for its multi-arch FHS environment.
|
|
||||||
openldap = prev.openldap.overrideAttrs (old: {
|
|
||||||
doCheck = if old.version == "2.6.13" then false else old.doCheck;
|
|
||||||
});
|
|
||||||
})
|
|
||||||
];
|
];
|
||||||
|
|
||||||
pkgs = import nixpkgs {
|
pkgs = import nixpkgs {
|
||||||
|
|
@ -58,20 +49,26 @@
|
||||||
inherit overlays;
|
inherit overlays;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
pkgs-unstable = import nixpkgs {
|
||||||
|
inherit system;
|
||||||
|
config.allowUnfree = true;
|
||||||
|
flake.setFlakeRegistry = true;
|
||||||
|
inherit overlays;
|
||||||
|
};
|
||||||
|
|
||||||
sharedSpecialArgs = {
|
sharedSpecialArgs = {
|
||||||
inherit repoLocalPath;
|
inherit repoLocalPath pkgs-unstable;
|
||||||
repoRoot = self;
|
repoRoot = self;
|
||||||
};
|
};
|
||||||
|
|
||||||
sharedModules = [
|
sharedModules = [
|
||||||
./nixos/modules/base.nix
|
./nixos/modules/base.nix
|
||||||
inputs.stylix.nixosModules.stylix
|
|
||||||
inputs.home-manager.nixosModules.home-manager
|
inputs.home-manager.nixosModules.home-manager
|
||||||
({ ... }: {
|
({ ... }: {
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager.useGlobalPkgs = true;
|
||||||
home-manager.useUserPackages = true;
|
home-manager.useUserPackages = true;
|
||||||
home-manager.extraSpecialArgs = {
|
home-manager.extraSpecialArgs = {
|
||||||
inherit pkgs repoLocalPath;
|
inherit pkgs repoLocalPath pkgs-unstable;
|
||||||
repoRoot = self;
|
repoRoot = self;
|
||||||
};
|
};
|
||||||
home-manager.backupFileExtension = "backup";
|
home-manager.backupFileExtension = "backup";
|
||||||
|
|
@ -110,7 +107,7 @@
|
||||||
workstationModules = [
|
workstationModules = [
|
||||||
./nixos/modules/profiles/workstation.nix
|
./nixos/modules/profiles/workstation.nix
|
||||||
./nixos/modules/wm/sway.nix
|
./nixos/modules/wm/sway.nix
|
||||||
./nixos/modules/theme/stylix.nix
|
./nixos/modules/theme
|
||||||
];
|
];
|
||||||
|
|
||||||
workstationHomeModules = [
|
workstationHomeModules = [
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,10 @@
|
||||||
{ ... }:
|
{ theme, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
n = theme.paletteNoHash;
|
||||||
|
fonts = theme.fonts;
|
||||||
|
terminalFontSize = toString fonts.sizes.terminal;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
programs.foot = {
|
programs.foot = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -6,9 +12,39 @@
|
||||||
settings = {
|
settings = {
|
||||||
main = {
|
main = {
|
||||||
app-id = "footclient";
|
app-id = "footclient";
|
||||||
|
dpi-aware = "no";
|
||||||
|
font = "${fonts.monospace.name}:size=${terminalFontSize}";
|
||||||
|
initial-color-theme = 1;
|
||||||
workers = 32;
|
workers = 32;
|
||||||
};
|
};
|
||||||
bell.system = "no";
|
bell.system = "no";
|
||||||
|
colors = {
|
||||||
|
alpha = 1.0;
|
||||||
|
background = n.darkestGray;
|
||||||
|
foreground = n.lightGray;
|
||||||
|
regular0 = n.darkestGray;
|
||||||
|
regular1 = n.red;
|
||||||
|
regular2 = n.green;
|
||||||
|
regular3 = n.yellow;
|
||||||
|
regular4 = n.purple;
|
||||||
|
regular5 = n.blue;
|
||||||
|
regular6 = n.magenta;
|
||||||
|
regular7 = n.lightGray;
|
||||||
|
bright0 = n.gray;
|
||||||
|
bright1 = n.red;
|
||||||
|
bright2 = n.green;
|
||||||
|
bright3 = n.yellow;
|
||||||
|
bright4 = n.purple;
|
||||||
|
bright5 = n.blue;
|
||||||
|
bright6 = n.magenta;
|
||||||
|
bright7 = n.white;
|
||||||
|
"16" = n.orange;
|
||||||
|
"17" = n.cyan;
|
||||||
|
"18" = n.darkerGray;
|
||||||
|
"19" = n.darkGray;
|
||||||
|
"20" = n.mutedGray;
|
||||||
|
"21" = n.lighterGray;
|
||||||
|
};
|
||||||
scrollback.lines = 100000;
|
scrollback.lines = 100000;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
{ ... }:
|
|
||||||
{
|
|
||||||
programs.qutebrowser = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
58
home/modules/programs/qutebrowser/colors.nix
Normal file
58
home/modules/programs/qutebrowser/colors.nix
Normal file
|
|
@ -0,0 +1,58 @@
|
||||||
|
{ theme, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
p = theme.palette;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./colors/completion.nix
|
||||||
|
./colors/downloads.nix
|
||||||
|
./colors/messages.nix
|
||||||
|
./colors/statusbar.nix
|
||||||
|
./colors/tabs.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.qutebrowser.settings = {
|
||||||
|
colors = {
|
||||||
|
contextmenu = {
|
||||||
|
disabled = {
|
||||||
|
bg = p.darkerGray;
|
||||||
|
fg = p.darkestGray;
|
||||||
|
};
|
||||||
|
menu = {
|
||||||
|
bg = p.darkestGray;
|
||||||
|
fg = p.lightGray;
|
||||||
|
};
|
||||||
|
selected = {
|
||||||
|
bg = p.gray;
|
||||||
|
fg = p.lightGray;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
hints = {
|
||||||
|
bg = p.darkerGray;
|
||||||
|
fg = p.lightGray;
|
||||||
|
match.fg = p.green;
|
||||||
|
};
|
||||||
|
keyhint = {
|
||||||
|
bg = p.darkestGray;
|
||||||
|
fg = p.lightGray;
|
||||||
|
suffix.fg = p.lightGray;
|
||||||
|
};
|
||||||
|
prompts = {
|
||||||
|
bg = p.darkestGray;
|
||||||
|
border = "1px solid ${p.darkestGray}";
|
||||||
|
fg = p.lightGray;
|
||||||
|
selected = {
|
||||||
|
bg = p.darkerGray;
|
||||||
|
fg = p.lightGray;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
tooltip = {
|
||||||
|
bg = p.darkestGray;
|
||||||
|
fg = p.lightGray;
|
||||||
|
};
|
||||||
|
webpage.preferred_color_scheme = theme.polarity;
|
||||||
|
};
|
||||||
|
hints.border = "1px solid ${p.darkestGray}";
|
||||||
|
};
|
||||||
|
}
|
||||||
34
home/modules/programs/qutebrowser/colors/completion.nix
Normal file
34
home/modules/programs/qutebrowser/colors/completion.nix
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
{ theme, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
p = theme.palette;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
programs.qutebrowser.settings.colors.completion = {
|
||||||
|
category = {
|
||||||
|
bg = p.darkestGray;
|
||||||
|
border = {
|
||||||
|
bottom = p.darkestGray;
|
||||||
|
top = p.darkestGray;
|
||||||
|
};
|
||||||
|
fg = p.green;
|
||||||
|
};
|
||||||
|
even.bg = p.darkestGray;
|
||||||
|
fg = p.lightGray;
|
||||||
|
item.selected = {
|
||||||
|
bg = p.gray;
|
||||||
|
border = {
|
||||||
|
bottom = p.gray;
|
||||||
|
top = p.gray;
|
||||||
|
};
|
||||||
|
fg = p.lightGray;
|
||||||
|
match.fg = p.green;
|
||||||
|
};
|
||||||
|
match.fg = p.green;
|
||||||
|
odd.bg = p.darkerGray;
|
||||||
|
scrollbar = {
|
||||||
|
bg = p.darkestGray;
|
||||||
|
fg = p.lightGray;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
22
home/modules/programs/qutebrowser/colors/downloads.nix
Normal file
22
home/modules/programs/qutebrowser/colors/downloads.nix
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
{ theme, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
p = theme.palette;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
programs.qutebrowser.settings.colors.downloads = {
|
||||||
|
bar.bg = p.darkestGray;
|
||||||
|
error = {
|
||||||
|
bg = p.red;
|
||||||
|
fg = p.darkestGray;
|
||||||
|
};
|
||||||
|
start = {
|
||||||
|
bg = p.green;
|
||||||
|
fg = p.darkestGray;
|
||||||
|
};
|
||||||
|
stop = {
|
||||||
|
bg = p.magenta;
|
||||||
|
fg = p.darkestGray;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
24
home/modules/programs/qutebrowser/colors/messages.nix
Normal file
24
home/modules/programs/qutebrowser/colors/messages.nix
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
{ theme, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
p = theme.palette;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
programs.qutebrowser.settings.colors.messages = {
|
||||||
|
error = {
|
||||||
|
bg = p.red;
|
||||||
|
border = p.red;
|
||||||
|
fg = p.darkestGray;
|
||||||
|
};
|
||||||
|
info = {
|
||||||
|
bg = p.green;
|
||||||
|
border = p.green;
|
||||||
|
fg = p.darkestGray;
|
||||||
|
};
|
||||||
|
warning = {
|
||||||
|
bg = p.blue;
|
||||||
|
border = p.blue;
|
||||||
|
fg = p.darkestGray;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
52
home/modules/programs/qutebrowser/colors/statusbar.nix
Normal file
52
home/modules/programs/qutebrowser/colors/statusbar.nix
Normal file
|
|
@ -0,0 +1,52 @@
|
||||||
|
{ theme, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
p = theme.palette;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
programs.qutebrowser.settings.colors.statusbar = {
|
||||||
|
caret = {
|
||||||
|
bg = p.gray;
|
||||||
|
fg = p.lightGray;
|
||||||
|
selection = {
|
||||||
|
bg = p.gray;
|
||||||
|
fg = p.lightGray;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
command = {
|
||||||
|
bg = p.darkestGray;
|
||||||
|
fg = p.lightGray;
|
||||||
|
private = {
|
||||||
|
bg = p.darkerGray;
|
||||||
|
fg = p.lightGray;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
insert = {
|
||||||
|
bg = p.green;
|
||||||
|
fg = p.darkestGray;
|
||||||
|
};
|
||||||
|
normal = {
|
||||||
|
bg = p.darkestGray;
|
||||||
|
fg = p.lightGray;
|
||||||
|
};
|
||||||
|
passthrough = {
|
||||||
|
bg = p.magenta;
|
||||||
|
fg = p.darkestGray;
|
||||||
|
};
|
||||||
|
private = {
|
||||||
|
bg = p.darkerGray;
|
||||||
|
fg = p.lightGray;
|
||||||
|
};
|
||||||
|
progress.bg = p.green;
|
||||||
|
url = {
|
||||||
|
error.fg = p.red;
|
||||||
|
fg = p.lightGray;
|
||||||
|
hover.fg = p.lightGray;
|
||||||
|
success = {
|
||||||
|
http.fg = p.magenta;
|
||||||
|
https.fg = p.green;
|
||||||
|
};
|
||||||
|
warn.fg = p.blue;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
53
home/modules/programs/qutebrowser/colors/tabs.nix
Normal file
53
home/modules/programs/qutebrowser/colors/tabs.nix
Normal file
|
|
@ -0,0 +1,53 @@
|
||||||
|
{ theme, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
p = theme.palette;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
programs.qutebrowser.settings.colors.tabs = {
|
||||||
|
bar.bg = p.darkestGray;
|
||||||
|
even = {
|
||||||
|
bg = p.darkerGray;
|
||||||
|
fg = p.lightGray;
|
||||||
|
};
|
||||||
|
indicator = {
|
||||||
|
error = p.red;
|
||||||
|
start = p.magenta;
|
||||||
|
stop = p.green;
|
||||||
|
};
|
||||||
|
odd = {
|
||||||
|
bg = p.darkestGray;
|
||||||
|
fg = p.lightGray;
|
||||||
|
};
|
||||||
|
pinned = {
|
||||||
|
even = {
|
||||||
|
bg = p.green;
|
||||||
|
fg = p.darkestGray;
|
||||||
|
};
|
||||||
|
odd = {
|
||||||
|
bg = p.magenta;
|
||||||
|
fg = p.darkestGray;
|
||||||
|
};
|
||||||
|
selected = {
|
||||||
|
even = {
|
||||||
|
bg = p.gray;
|
||||||
|
fg = p.lightGray;
|
||||||
|
};
|
||||||
|
odd = {
|
||||||
|
bg = p.gray;
|
||||||
|
fg = p.lightGray;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
selected = {
|
||||||
|
even = {
|
||||||
|
bg = p.gray;
|
||||||
|
fg = p.lightGray;
|
||||||
|
};
|
||||||
|
odd = {
|
||||||
|
bg = p.gray;
|
||||||
|
fg = p.lightGray;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
8
home/modules/programs/qutebrowser/default.nix
Normal file
8
home/modules/programs/qutebrowser/default.nix
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./colors.nix
|
||||||
|
./fonts.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.qutebrowser.enable = true;
|
||||||
|
}
|
||||||
23
home/modules/programs/qutebrowser/fonts.nix
Normal file
23
home/modules/programs/qutebrowser/fonts.nix
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
{ theme, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
fonts = theme.fonts;
|
||||||
|
fontSize = toString fonts.sizes.applications;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
programs.qutebrowser.settings.fonts = {
|
||||||
|
default_family = fonts.sansSerif.name;
|
||||||
|
default_size = "${fontSize}pt";
|
||||||
|
web = {
|
||||||
|
family = {
|
||||||
|
cursive = fonts.serif.name;
|
||||||
|
fantasy = fonts.serif.name;
|
||||||
|
fixed = fonts.monospace.name;
|
||||||
|
sans_serif = fonts.sansSerif.name;
|
||||||
|
serif = fonts.serif.name;
|
||||||
|
standard = fonts.sansSerif.name;
|
||||||
|
};
|
||||||
|
size.default = 18;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
let
|
|
||||||
commands = import ../../../lib/commands.nix { inherit pkgs; };
|
|
||||||
inherit (commands) term;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
programs.rofi = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.rofi-unwrapped;
|
|
||||||
terminal = term;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
21
home/modules/programs/rofi/default.nix
Normal file
21
home/modules/programs/rofi/default.nix
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
commands = import ../../../../lib/commands.nix { inherit pkgs; };
|
||||||
|
inherit (commands) term;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./theme.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.rofi = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.rofi-unwrapped;
|
||||||
|
terminal = term;
|
||||||
|
extraConfig = {
|
||||||
|
"run-command" = "${commands.uwsm} {cmd}";
|
||||||
|
"run-shell-command" = "${commands.uwsm} ${term} -e {cmd}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
108
home/modules/programs/rofi/theme.nix
Normal file
108
home/modules/programs/rofi/theme.nix
Normal file
|
|
@ -0,0 +1,108 @@
|
||||||
|
{ config, theme, ... }:
|
||||||
|
let
|
||||||
|
inherit (config.lib.formats.rasi) mkLiteral;
|
||||||
|
p = theme.palette;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
programs.rofi.theme = {
|
||||||
|
"*" = {
|
||||||
|
background = mkLiteral p.darkestGray;
|
||||||
|
background-color = mkLiteral p.darkestGray;
|
||||||
|
foreground = mkLiteral p.lightGray;
|
||||||
|
lightbg = mkLiteral p.darkerGray;
|
||||||
|
lightfg = mkLiteral p.lighterGray;
|
||||||
|
red = mkLiteral p.red;
|
||||||
|
blue = mkLiteral p.purple;
|
||||||
|
border-color = mkLiteral "@foreground";
|
||||||
|
separatorcolor = mkLiteral "@foreground";
|
||||||
|
normal-background = mkLiteral "@background";
|
||||||
|
normal-foreground = mkLiteral "@foreground";
|
||||||
|
normal-text = mkLiteral p.lightGray;
|
||||||
|
alternate-normal-background = mkLiteral "@lightbg";
|
||||||
|
alternate-normal-foreground = mkLiteral "@foreground";
|
||||||
|
alternate-normal-text = mkLiteral p.lightGray;
|
||||||
|
selected-normal-background = mkLiteral "@lightfg";
|
||||||
|
selected-normal-foreground = mkLiteral "@lightbg";
|
||||||
|
selected-normal-text = mkLiteral p.darkerGray;
|
||||||
|
active-background = mkLiteral "@background";
|
||||||
|
active-foreground = mkLiteral "@blue";
|
||||||
|
active-text = mkLiteral p.purple;
|
||||||
|
alternate-active-background = mkLiteral "@lightbg";
|
||||||
|
alternate-active-foreground = mkLiteral "@blue";
|
||||||
|
alternate-active-text = mkLiteral p.purple;
|
||||||
|
selected-active-background = mkLiteral "@blue";
|
||||||
|
selected-active-foreground = mkLiteral "@background";
|
||||||
|
selected-active-text = mkLiteral p.darkestGray;
|
||||||
|
urgent-background = mkLiteral "@background";
|
||||||
|
urgent-foreground = mkLiteral "@red";
|
||||||
|
urgent-text = mkLiteral p.red;
|
||||||
|
alternate-urgent-background = mkLiteral "@lightbg";
|
||||||
|
alternate-urgent-foreground = mkLiteral "@red";
|
||||||
|
alternate-urgent-text = mkLiteral p.red;
|
||||||
|
selected-urgent-background = mkLiteral "@red";
|
||||||
|
selected-urgent-foreground = mkLiteral "@background";
|
||||||
|
selected-urgent-text = mkLiteral p.darkestGray;
|
||||||
|
base-text = mkLiteral p.lightGray;
|
||||||
|
};
|
||||||
|
"button".text-color = mkLiteral "@normal-text";
|
||||||
|
"button selected" = {
|
||||||
|
background-color = mkLiteral "@selected-normal-background";
|
||||||
|
text-color = mkLiteral "@selected-normal-text";
|
||||||
|
};
|
||||||
|
"case-indicator".text-color = mkLiteral "@normal-text";
|
||||||
|
"element alternate.active" = {
|
||||||
|
background-color = mkLiteral "@alternate-active-background";
|
||||||
|
text-color = mkLiteral "@alternate-active-text";
|
||||||
|
};
|
||||||
|
"element alternate.normal" = {
|
||||||
|
background-color = mkLiteral "@alternate-normal-background";
|
||||||
|
text-color = mkLiteral "@alternate-normal-text";
|
||||||
|
};
|
||||||
|
"element alternate.urgent" = {
|
||||||
|
background-color = mkLiteral "@alternate-urgent-background";
|
||||||
|
text-color = mkLiteral "@alternate-urgent-text";
|
||||||
|
};
|
||||||
|
"element normal.active" = {
|
||||||
|
background-color = mkLiteral "@active-background";
|
||||||
|
text-color = mkLiteral "@active-text";
|
||||||
|
};
|
||||||
|
"element normal.normal" = {
|
||||||
|
background-color = mkLiteral "@normal-background";
|
||||||
|
text-color = mkLiteral "@normal-text";
|
||||||
|
};
|
||||||
|
"element normal.urgent" = {
|
||||||
|
background-color = mkLiteral "@urgent-background";
|
||||||
|
text-color = mkLiteral "@urgent-text";
|
||||||
|
};
|
||||||
|
"element selected.active" = {
|
||||||
|
background-color = mkLiteral "@selected-active-background";
|
||||||
|
text-color = mkLiteral "@selected-active-text";
|
||||||
|
};
|
||||||
|
"element selected.normal" = {
|
||||||
|
background-color = mkLiteral "@selected-normal-background";
|
||||||
|
text-color = mkLiteral "@selected-normal-text";
|
||||||
|
};
|
||||||
|
"element selected.urgent" = {
|
||||||
|
background-color = mkLiteral "@selected-urgent-background";
|
||||||
|
text-color = mkLiteral "@selected-urgent-text";
|
||||||
|
};
|
||||||
|
"element-icon" = {
|
||||||
|
background-color = mkLiteral "inherit";
|
||||||
|
text-color = mkLiteral "inherit";
|
||||||
|
};
|
||||||
|
"element-text" = {
|
||||||
|
background-color = mkLiteral "inherit";
|
||||||
|
text-color = mkLiteral "inherit";
|
||||||
|
};
|
||||||
|
"entry".text-color = mkLiteral "@normal-text";
|
||||||
|
"inputbar".text-color = mkLiteral "@normal-text";
|
||||||
|
"listview".border-color = mkLiteral "@separatorcolor";
|
||||||
|
"message".border-color = mkLiteral "@separatorcolor";
|
||||||
|
"prompt".text-color = mkLiteral "@normal-text";
|
||||||
|
"scrollbar".handle-color = mkLiteral "@normal-foreground";
|
||||||
|
"sidebar".border-color = mkLiteral "@separatorcolor";
|
||||||
|
"textbox".text-color = mkLiteral "@base-text";
|
||||||
|
"textbox-prompt-colon".text-color = mkLiteral "inherit";
|
||||||
|
"window".background-color = mkLiteral "@background";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,10 +1,37 @@
|
||||||
{ ... }:
|
{ theme, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
n = theme.paletteNoHash;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
programs.swaylock = {
|
programs.swaylock = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
color = n.darkestGray;
|
||||||
ignore-empty-password = true;
|
ignore-empty-password = true;
|
||||||
|
inside-caps-lock-color = n.darkestGray;
|
||||||
|
inside-clear-color = n.darkestGray;
|
||||||
|
inside-color = n.darkestGray;
|
||||||
|
inside-ver-color = n.darkestGray;
|
||||||
|
inside-wrong-color = n.darkestGray;
|
||||||
indicator-caps-lock = true;
|
indicator-caps-lock = true;
|
||||||
|
key-hl-color = n.green;
|
||||||
|
layout-bg-color = n.darkestGray;
|
||||||
|
layout-border-color = n.darkerGray;
|
||||||
|
layout-text-color = n.lightGray;
|
||||||
|
line-uses-inside = true;
|
||||||
|
ring-caps-lock-color = n.darkerGray;
|
||||||
|
ring-clear-color = n.red;
|
||||||
|
ring-color = n.darkerGray;
|
||||||
|
ring-ver-color = n.green;
|
||||||
|
ring-wrong-color = n.red;
|
||||||
|
scaling = "fill";
|
||||||
|
separator-color = "00000000";
|
||||||
|
text-caps-lock-color = n.lightGray;
|
||||||
|
text-clear-color = n.lightGray;
|
||||||
|
text-color = n.lightGray;
|
||||||
|
text-ver-color = n.lightGray;
|
||||||
|
text-wrong-color = n.lightGray;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,26 +1,19 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, pkgs-unstable, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
programs.vscodium = {
|
programs.vscode = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.vscodium.fhsWithPackages (
|
package = pkgs-unstable.vscode.fhsWithPackages (
|
||||||
ps: with ps; [ git ]
|
ps: with ps; [ git ]
|
||||||
);
|
);
|
||||||
profiles.default = {
|
profiles.default = {
|
||||||
userSettings = {
|
|
||||||
"python.languageServer" = "None";
|
|
||||||
"python.pyrefly.displayTypeErrors" = "force-on";
|
|
||||||
"explorer.confirmDelete" = false;
|
|
||||||
"explorer.confirmDragAndDrop" = false;
|
|
||||||
"explorer.confirmPasteNative" = false;
|
|
||||||
"git.confirmSync" = false;
|
|
||||||
};
|
|
||||||
extensions = [
|
extensions = [
|
||||||
pkgs.vscode-extensions.ms-python.python
|
pkgs-unstable.vscode-extensions.ms-python.python
|
||||||
pkgs.vscode-extensions.ms-python.debugpy
|
pkgs-unstable.vscode-extensions.ms-python.debugpy
|
||||||
pkgs.vscode-extensions.ms-vscode.cpptools
|
pkgs-unstable.vscode-extensions.ms-vscode.cpptools
|
||||||
pkgs.vscode-extensions.jnoortheen.nix-ide
|
pkgs-unstable.vscode-extensions.jnoortheen.nix-ide
|
||||||
pkgs.vscode-extensions.github.copilot
|
pkgs-unstable.vscode-extensions.github.copilot
|
||||||
] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
|
] ++ pkgs-unstable.vscode-utils.extensionsFromVscodeMarketplace [
|
||||||
{
|
{
|
||||||
name = "xonsh";
|
name = "xonsh";
|
||||||
publisher = "jnoortheen";
|
publisher = "jnoortheen";
|
||||||
|
|
@ -30,14 +23,14 @@
|
||||||
{
|
{
|
||||||
name = "pyrefly";
|
name = "pyrefly";
|
||||||
publisher = "meta";
|
publisher = "meta";
|
||||||
version = "0.57.1";
|
version = "1.0.0";
|
||||||
hash = "sha256-aF7QcjpID0PE9gMBM6RGfJ3CHOpmyDuHJbbrRRvLiBI=";
|
hash = "sha256-0HMbHW2pFYTXhJH5cJ6JJYSNWXt3t2SxPBEa1J8ThXg=";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "chatgpt";
|
name = "chatgpt";
|
||||||
publisher = "openai";
|
publisher = "openai";
|
||||||
version = "26.5313.41514";
|
version = "26.5519.32039";
|
||||||
hash = "sha256-kZHfcMzxqCtvkU04kDrlwaO3uHvn4+V6B5sLzlDfceo=";
|
hash = "sha256-hJhmLn3AvmY3X3RlbKlpeBX94w8PPm1cuPb3GNvgL/g=";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,19 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
let
|
let
|
||||||
commands = import ../../../lib/commands.nix { inherit pkgs; };
|
commands = import ../../../../lib/commands.nix { inherit pkgs; };
|
||||||
inherit (commands) uwsm term;
|
inherit (commands) uwsm term;
|
||||||
height = 20;
|
height = 20;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
imports = [
|
||||||
|
./style.nix
|
||||||
|
];
|
||||||
|
|
||||||
programs.waybar = {
|
programs.waybar = {
|
||||||
enable = true;
|
enable = true;
|
||||||
systemd = {
|
systemd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
targets = [ "graphical-session.target" ];
|
target = "graphical-session.target";
|
||||||
};
|
};
|
||||||
settings.mainBar = {
|
settings.mainBar = {
|
||||||
layer = "bottom";
|
layer = "bottom";
|
||||||
|
|
@ -94,12 +98,5 @@ in
|
||||||
on-click = "${uwsm} pavucontrol";
|
on-click = "${uwsm} pavucontrol";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
style = ''
|
|
||||||
button {
|
|
||||||
box-shadow: inset 0 -8px transparent;
|
|
||||||
border: none;
|
|
||||||
border-radius: 0;
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
62
home/modules/programs/waybar/style.nix
Normal file
62
home/modules/programs/waybar/style.nix
Normal file
|
|
@ -0,0 +1,62 @@
|
||||||
|
{ lib, theme, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
p = theme.palette;
|
||||||
|
fonts = theme.fonts;
|
||||||
|
terminalFontSize = toString fonts.sizes.terminal;
|
||||||
|
defineColors = lib.concatStringsSep "\n" (
|
||||||
|
lib.mapAttrsToList (name: value: "@define-color ${name} ${value};") p
|
||||||
|
);
|
||||||
|
in
|
||||||
|
{
|
||||||
|
programs.waybar.style = ''
|
||||||
|
${defineColors}
|
||||||
|
|
||||||
|
* {
|
||||||
|
font-family: "${fonts.monospace.name}";
|
||||||
|
font-size: ${terminalFontSize}pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar, tooltip {
|
||||||
|
background: alpha(@darkestGray, 1.000000);
|
||||||
|
color: @lightGray;
|
||||||
|
}
|
||||||
|
|
||||||
|
tooltip {
|
||||||
|
border-color: @purple;
|
||||||
|
}
|
||||||
|
|
||||||
|
tooltip label {
|
||||||
|
color: @lightGray;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modules-left #workspaces button,
|
||||||
|
.modules-center #workspaces button,
|
||||||
|
.modules-right #workspaces button {
|
||||||
|
border-bottom: 3px solid transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modules-left #workspaces button.focused,
|
||||||
|
.modules-left #workspaces button.active,
|
||||||
|
.modules-center #workspaces button.focused,
|
||||||
|
.modules-center #workspaces button.active,
|
||||||
|
.modules-right #workspaces button.focused,
|
||||||
|
.modules-right #workspaces button.active {
|
||||||
|
border-bottom: 3px solid @lightGray;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modules-left #workspaces button.urgent,
|
||||||
|
.modules-center #workspaces button.urgent,
|
||||||
|
.modules-right #workspaces button.urgent {
|
||||||
|
border-bottom: 3px solid @red;
|
||||||
|
background-color: @red;
|
||||||
|
color: @darkestGray;
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
box-shadow: inset 0 -8px transparent;
|
||||||
|
border: none;
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
|
@ -1,12 +1,21 @@
|
||||||
{ ... }:
|
{ theme, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
p = theme.palette;
|
||||||
|
fonts = theme.fonts;
|
||||||
|
fontSize = toString fonts.sizes.applications;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
services.mako = {
|
services.mako = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
actions = true;
|
actions = true;
|
||||||
anchor = "top-center";
|
anchor = "top-center";
|
||||||
|
background-color = "${p.darkestGray}FF";
|
||||||
|
border-color = p.purple;
|
||||||
border-radius = 0;
|
border-radius = 0;
|
||||||
default-timeout = 10000;
|
default-timeout = 10000;
|
||||||
|
font = "${fonts.sansSerif.name} ${fontSize}";
|
||||||
height = 100;
|
height = 100;
|
||||||
width = 600;
|
width = 600;
|
||||||
icons = true;
|
icons = true;
|
||||||
|
|
@ -14,6 +23,18 @@
|
||||||
layer = "overlay";
|
layer = "overlay";
|
||||||
margin = 10;
|
margin = 10;
|
||||||
markup = true;
|
markup = true;
|
||||||
|
progress-color = "over ${p.darkGray}";
|
||||||
|
text-color = p.lightGray;
|
||||||
|
"urgency=critical" = {
|
||||||
|
background-color = "${p.darkestGray}FF";
|
||||||
|
border-color = p.red;
|
||||||
|
text-color = p.lightGray;
|
||||||
|
};
|
||||||
|
"urgency=low" = {
|
||||||
|
background-color = "${p.darkestGray}FF";
|
||||||
|
border-color = p.gray;
|
||||||
|
text-color = p.lightGray;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -25,11 +25,23 @@ in
|
||||||
command = "${pkgs.systemd}/bin/systemctl suspend";
|
command = "${pkgs.systemd}/bin/systemctl suspend";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
events = {
|
events = [
|
||||||
before-sleep = "display off; systemctl --user stop libinput-gestures; ${lock}";
|
{
|
||||||
after-resume = "display on; systemctl --user start libinput-gestures";
|
event = "before-sleep";
|
||||||
lock = (display "off") + "; " + lock;
|
command = "display off; systemctl --user stop libinput-gestures; ${lock}";
|
||||||
unlock = display "on";
|
}
|
||||||
};
|
{
|
||||||
|
event = "after-resume";
|
||||||
|
command = "display on; systemctl --user start libinput-gestures";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
event = "lock";
|
||||||
|
command = (display "off") + "; " + lock;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
event = "unlock";
|
||||||
|
command = display "on";
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
11
home/modules/theme/cursor.nix
Normal file
11
home/modules/theme/cursor.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
{ theme, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
home.pointerCursor = {
|
||||||
|
name = theme.cursor.name;
|
||||||
|
package = theme.cursor.package;
|
||||||
|
size = theme.cursor.size;
|
||||||
|
gtk.enable = true;
|
||||||
|
x11.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
22
home/modules/theme/dconf.nix
Normal file
22
home/modules/theme/dconf.nix
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
{ theme, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
fonts = theme.fonts;
|
||||||
|
fontSize = toString fonts.sizes.applications;
|
||||||
|
terminalFontSize = toString fonts.sizes.terminal;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
dconf = {
|
||||||
|
enable = true;
|
||||||
|
settings."org/gnome/desktop/interface" = {
|
||||||
|
color-scheme = "prefer-dark";
|
||||||
|
cursor-size = theme.cursor.size;
|
||||||
|
cursor-theme = theme.cursor.name;
|
||||||
|
document-font-name = "${fonts.serif.name} 13";
|
||||||
|
font-name = "${fonts.sansSerif.name} ${fontSize}";
|
||||||
|
gtk-theme = theme.gtk.theme.name;
|
||||||
|
icon-theme = theme.icons.dark;
|
||||||
|
monospace-font-name = "${fonts.monospace.name} ${terminalFontSize}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
8
home/modules/theme/default.nix
Normal file
8
home/modules/theme/default.nix
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./cursor.nix
|
||||||
|
./dconf.nix
|
||||||
|
./fonts.nix
|
||||||
|
./gtk.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
13
home/modules/theme/fonts.nix
Normal file
13
home/modules/theme/fonts.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
{ theme, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
fonts.fontconfig = {
|
||||||
|
enable = true;
|
||||||
|
defaultFonts = {
|
||||||
|
emoji = [ theme.fonts.emoji.name ];
|
||||||
|
monospace = [ theme.fonts.monospace.name ];
|
||||||
|
sansSerif = [ theme.fonts.sansSerif.name ];
|
||||||
|
serif = [ theme.fonts.serif.name ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
24
home/modules/theme/gtk.nix
Normal file
24
home/modules/theme/gtk.nix
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
{ theme, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
gtk = {
|
||||||
|
enable = true;
|
||||||
|
font = {
|
||||||
|
name = theme.fonts.sansSerif.name;
|
||||||
|
package = theme.fonts.sansSerif.package;
|
||||||
|
size = theme.fonts.sizes.applications;
|
||||||
|
};
|
||||||
|
theme = theme.gtk.theme;
|
||||||
|
iconTheme = {
|
||||||
|
name = theme.icons.dark;
|
||||||
|
package = theme.icons.package;
|
||||||
|
};
|
||||||
|
cursorTheme = {
|
||||||
|
name = theme.cursor.name;
|
||||||
|
package = theme.cursor.package;
|
||||||
|
size = theme.cursor.size;
|
||||||
|
};
|
||||||
|
gtk3.extraConfig.gtk-application-prefer-dark-theme = 1;
|
||||||
|
gtk4.extraConfig.gtk-application-prefer-dark-theme = 1;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -6,10 +6,11 @@ in
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./gtk.nix
|
./gtk.nix
|
||||||
|
./theme.nix
|
||||||
./xdg.nix
|
./xdg.nix
|
||||||
./shells/default.nix
|
./shells/default.nix
|
||||||
../../programs/foot.nix
|
../../programs/foot.nix
|
||||||
../../programs/qutebrowser.nix
|
../../programs/qutebrowser
|
||||||
../../services/espanso.nix
|
../../services/espanso.nix
|
||||||
../../services/gnome-keyring.nix
|
../../services/gnome-keyring.nix
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -5,8 +5,8 @@ let
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../../../programs/rofi.nix
|
../../../programs/rofi
|
||||||
../../../programs/waybar.nix
|
../../../programs/waybar
|
||||||
../../../programs/swaylock.nix
|
../../../programs/swaylock.nix
|
||||||
../../../services/swayidle.nix
|
../../../services/swayidle.nix
|
||||||
../../../services/mako.nix
|
../../../services/mako.nix
|
||||||
|
|
|
||||||
45
home/modules/wm/sway/theme.nix
Normal file
45
home/modules/wm/sway/theme.nix
Normal file
|
|
@ -0,0 +1,45 @@
|
||||||
|
{ theme, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
p = theme.palette;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
wayland.windowManager.sway.config.colors = {
|
||||||
|
background = p.darkestGray;
|
||||||
|
focused = {
|
||||||
|
background = p.darkestGray;
|
||||||
|
border = p.purple;
|
||||||
|
childBorder = p.purple;
|
||||||
|
indicator = p.green;
|
||||||
|
text = p.lightGray;
|
||||||
|
};
|
||||||
|
focusedInactive = {
|
||||||
|
background = p.darkestGray;
|
||||||
|
border = p.gray;
|
||||||
|
childBorder = p.gray;
|
||||||
|
indicator = p.green;
|
||||||
|
text = p.lightGray;
|
||||||
|
};
|
||||||
|
placeholder = {
|
||||||
|
background = p.darkestGray;
|
||||||
|
border = p.gray;
|
||||||
|
childBorder = p.gray;
|
||||||
|
indicator = p.green;
|
||||||
|
text = p.lightGray;
|
||||||
|
};
|
||||||
|
unfocused = {
|
||||||
|
background = p.darkestGray;
|
||||||
|
border = p.gray;
|
||||||
|
childBorder = p.gray;
|
||||||
|
indicator = p.green;
|
||||||
|
text = p.lightGray;
|
||||||
|
};
|
||||||
|
urgent = {
|
||||||
|
background = p.darkestGray;
|
||||||
|
border = p.red;
|
||||||
|
childBorder = p.red;
|
||||||
|
indicator = p.green;
|
||||||
|
text = p.lightGray;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, pkgs-unstable, ... }:
|
||||||
let
|
let
|
||||||
commands = import ../../../../lib/commands.nix { inherit pkgs; };
|
commands = import ../../../../lib/commands.nix { inherit pkgs; };
|
||||||
inherit (commands) swaymsg lock;
|
inherit (commands) swaymsg lock;
|
||||||
|
|
@ -28,7 +28,7 @@ in
|
||||||
pkgs.vlc
|
pkgs.vlc
|
||||||
pkgs.loupe
|
pkgs.loupe
|
||||||
pkgs.nautilus
|
pkgs.nautilus
|
||||||
pkgs.chromium
|
pkgs-unstable.chromium
|
||||||
];
|
];
|
||||||
defaultApplications = {
|
defaultApplications = {
|
||||||
"text/*" = [ "${pkgs.gnome-text-editor}/share/applications/org.gnome.TextEditor.desktop" ];
|
"text/*" = [ "${pkgs.gnome-text-editor}/share/applications/org.gnome.TextEditor.desktop" ];
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,7 @@
|
||||||
{ pkgs, lib, repoRoot, ... }:
|
{ pkgs, pkgs-unstable, lib, repoRoot, ... }:
|
||||||
|
let
|
||||||
|
bottles = pkgs.bottles.override { removeWarningPopup = true; };
|
||||||
|
in
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../modules/programs/chromium.nix
|
../modules/programs/chromium.nix
|
||||||
|
|
@ -6,26 +9,22 @@
|
||||||
../modules/programs/vscode.nix
|
../modules/programs/vscode.nix
|
||||||
../modules/services/syncthing.nix
|
../modules/services/syncthing.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
stylix.enableReleaseChecks = false;
|
|
||||||
|
|
||||||
xdg.configFile."obsidian/obsidian.json".source = lib.mkForce ../conf/obsidian.json;
|
xdg.configFile."obsidian/obsidian.json".source = lib.mkForce ../conf/obsidian.json;
|
||||||
|
|
||||||
xdg = {
|
xdg = {
|
||||||
enable = true;
|
enable = true;
|
||||||
userDirs = {
|
userDirs = {
|
||||||
enable = true;
|
enable = true;
|
||||||
setSessionVariables = true;
|
|
||||||
};
|
};
|
||||||
mime.enable = true;
|
mime.enable = true;
|
||||||
autostart = {
|
autostart = {
|
||||||
enable = true;
|
enable = true;
|
||||||
entries = [
|
entries = [
|
||||||
"${pkgs.chromium}/share/applications/chromium-browser.desktop"
|
"${pkgs-unstable.chromium}/share/applications/chromium-browser.desktop"
|
||||||
"${pkgs.discord}/share/applications/discord.desktop"
|
"${pkgs-unstable.discord}/share/applications/discord.desktop"
|
||||||
"${pkgs.signal-desktop}/share/applications/signal.desktop"
|
"${pkgs-unstable.signal-desktop}/share/applications/signal.desktop"
|
||||||
"${pkgs.obsidian}/share/applications/obsidian.desktop"
|
"${pkgs-unstable.obsidian}/share/applications/obsidian.desktop"
|
||||||
"${pkgs.vscodium}/share/applications/codium.desktop"
|
"${pkgs-unstable.vscode}/share/applications/code.desktop"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
desktopEntries = {
|
desktopEntries = {
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@
|
||||||
loader.efi.canTouchEfiVariables = true;
|
loader.efi.canTouchEfiVariables = true;
|
||||||
initrd = {
|
initrd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
systemd.enable = true;
|
||||||
luks.devices."luks-654125f4-7b26-408d-b1b5-d31648ec8770".device = "/dev/disk/by-uuid/654125f4-7b26-408d-b1b5-d31648ec8770";
|
luks.devices."luks-654125f4-7b26-408d-b1b5-d31648ec8770".device = "/dev/disk/by-uuid/654125f4-7b26-408d-b1b5-d31648ec8770";
|
||||||
verbose = false;
|
verbose = false;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,8 @@
|
||||||
{ config, pkgs, lib, repoLocalPath, ... }:
|
{ config, pkgs, lib, repoLocalPath, ... }:
|
||||||
|
let
|
||||||
|
autoUpgradeUser = "alisceon";
|
||||||
|
flakeRef = "path:${repoLocalPath}";
|
||||||
|
in
|
||||||
{
|
{
|
||||||
boot = {
|
boot = {
|
||||||
kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
|
kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
|
||||||
|
|
@ -18,25 +22,36 @@
|
||||||
system.autoUpgrade = {
|
system.autoUpgrade = {
|
||||||
enable = true;
|
enable = true;
|
||||||
persistent = true;
|
persistent = true;
|
||||||
flake = repoLocalPath;
|
flake = flakeRef;
|
||||||
|
upgrade = false;
|
||||||
flags = [
|
flags = [
|
||||||
"--print-build-logs"
|
"--print-build-logs"
|
||||||
"--no-write-lock-file"
|
"--no-write-lock-file"
|
||||||
];
|
];
|
||||||
dates = "daily";
|
dates = "03:40";
|
||||||
|
fixedRandomDelay = true;
|
||||||
|
randomizedDelaySec = "2h";
|
||||||
|
runGarbageCollection = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
systemd.services.nixos-upgrade.preStart = ''
|
||||||
|
${pkgs.util-linux}/bin/runuser -u ${autoUpgradeUser} -- ${lib.getExe config.nix.package} flake update --flake ${lib.escapeShellArg flakeRef}
|
||||||
|
'';
|
||||||
|
|
||||||
nix = {
|
nix = {
|
||||||
settings = {
|
settings = {
|
||||||
experimental-features = [ "nix-command" "flakes" ];
|
experimental-features = [ "nix-command" "flakes" ];
|
||||||
auto-optimise-store = true;
|
auto-optimise-store = true;
|
||||||
|
min-free = 1024 * 1024 * 1024;
|
||||||
|
max-free = 5 * 1024 * 1024 * 1024;
|
||||||
trusted-users = [ "root" "alisceon" ];
|
trusted-users = [ "root" "alisceon" ];
|
||||||
};
|
};
|
||||||
gc = {
|
gc = {
|
||||||
automatic = true;
|
automatic = true;
|
||||||
persistent = true;
|
persistent = true;
|
||||||
dates = "daily";
|
dates = "weekly";
|
||||||
options = "--delete-older-than 7d";
|
randomizedDelaySec = "2h";
|
||||||
|
options = "--delete-older-than 14d";
|
||||||
};
|
};
|
||||||
registry = {
|
registry = {
|
||||||
templates.to = {
|
templates.to = {
|
||||||
|
|
@ -47,17 +62,19 @@
|
||||||
type = "github";
|
type = "github";
|
||||||
owner = "NixOS";
|
owner = "NixOS";
|
||||||
repo = "nixpkgs";
|
repo = "nixpkgs";
|
||||||
ref = "nixos-unstable";
|
ref = "nixos-25.11";
|
||||||
};
|
};
|
||||||
nixpkgs-stable.to = {
|
nixpkgs-stable.to = {
|
||||||
type = "github";
|
type = "github";
|
||||||
owner = "NixOS";
|
owner = "NixOS";
|
||||||
repo = "nixpkgs";
|
repo = "nixpkgs";
|
||||||
ref = "nixos-25.05";
|
ref = "nixos-25.11";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
boot.loader.systemd-boot.configurationLimit = lib.mkDefault 10;
|
||||||
|
|
||||||
console.keyMap = "sv-latin1";
|
console.keyMap = "sv-latin1";
|
||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = true;
|
||||||
time.timeZone = "Europe/Stockholm";
|
time.timeZone = "Europe/Stockholm";
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,12 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
system.autoUpgrade.allowReboot = true;
|
system.autoUpgrade = {
|
||||||
|
allowReboot = true;
|
||||||
|
rebootWindow = {
|
||||||
|
lower = "03:00";
|
||||||
|
upper = "05:00";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
services.openssh = {
|
services.openssh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,11 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, pkgs-unstable, ... }:
|
||||||
{
|
{
|
||||||
boot = {
|
boot = {
|
||||||
plymouth.enable = true;
|
plymouth = {
|
||||||
|
enable = true;
|
||||||
|
theme = "nixos-bgrt";
|
||||||
|
themePackages = [ pkgs.nixos-bgrt-plymouth ];
|
||||||
|
};
|
||||||
kernelParams = [
|
kernelParams = [
|
||||||
"quiet"
|
"quiet"
|
||||||
"udev.log_level=3"
|
"udev.log_level=3"
|
||||||
|
|
@ -37,6 +41,11 @@
|
||||||
|
|
||||||
programs.dconf.enable = true;
|
programs.dconf.enable = true;
|
||||||
|
|
||||||
|
users = {
|
||||||
|
groups.plugdev = {};
|
||||||
|
users.alisceon.extraGroups = [ "plugdev" ];
|
||||||
|
};
|
||||||
|
|
||||||
networking.firewall.allowedTCPPorts = [
|
networking.firewall.allowedTCPPorts = [
|
||||||
1312
|
1312
|
||||||
8000
|
8000
|
||||||
|
|
@ -46,20 +55,20 @@
|
||||||
|
|
||||||
environment = {
|
environment = {
|
||||||
systemPackages = [
|
systemPackages = [
|
||||||
pkgs.discord
|
pkgs-unstable.discord
|
||||||
pkgs.signal-desktop
|
pkgs-unstable.signal-desktop
|
||||||
pkgs.mumble
|
pkgs.mumble
|
||||||
(pkgs.chromium.override { enableWideVine = true; })
|
(pkgs-unstable.chromium.override { enableWideVine = true; })
|
||||||
pkgs.google-chrome
|
pkgs.google-chrome
|
||||||
pkgs.vscodium
|
pkgs-unstable.vscode
|
||||||
pkgs.codex
|
pkgs-unstable.codex
|
||||||
pkgs.devenv
|
pkgs.devenv
|
||||||
pkgs.direnv
|
pkgs.direnv
|
||||||
pkgs.syncthing
|
pkgs.syncthing
|
||||||
pkgs.steam
|
pkgs.steam
|
||||||
pkgs.krita
|
pkgs.krita
|
||||||
pkgs.edk2-uefi-shell
|
pkgs.edk2-uefi-shell
|
||||||
pkgs.obsidian
|
pkgs-unstable.obsidian
|
||||||
pkgs.gparted
|
pkgs.gparted
|
||||||
pkgs.vlc
|
pkgs.vlc
|
||||||
pkgs.via
|
pkgs.via
|
||||||
|
|
|
||||||
88
nixos/modules/theme/colors.nix
Normal file
88
nixos/modules/theme/colors.nix
Normal file
|
|
@ -0,0 +1,88 @@
|
||||||
|
{ pkgs }:
|
||||||
|
|
||||||
|
let
|
||||||
|
dropHash = color:
|
||||||
|
builtins.substring 1 ((builtins.stringLength color) - 1) color;
|
||||||
|
|
||||||
|
palette = {
|
||||||
|
darkestGray = "#181818";
|
||||||
|
darkerGray = "#252525";
|
||||||
|
darkGray = "#3b3b3b";
|
||||||
|
gray = "#777777";
|
||||||
|
mutedGray = "#777777";
|
||||||
|
lightGray = "#b9b9b9";
|
||||||
|
lighterGray = "#dedede";
|
||||||
|
white = "#dedede";
|
||||||
|
red = "#ed4a46";
|
||||||
|
orange = "#e67f43";
|
||||||
|
yellow = "#dbb32d";
|
||||||
|
green = "#70b433";
|
||||||
|
magenta = "#eb6eb7";
|
||||||
|
purple = "#a580e2";
|
||||||
|
blue = "#368aeb";
|
||||||
|
cyan = "#3fc5b7";
|
||||||
|
};
|
||||||
|
|
||||||
|
paletteNoHash = builtins.mapAttrs (_: dropHash) palette;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
inherit palette paletteNoHash;
|
||||||
|
|
||||||
|
colors = {
|
||||||
|
background = palette.darkestGray;
|
||||||
|
backgroundAlt = palette.darkerGray;
|
||||||
|
selection = palette.gray;
|
||||||
|
foreground = palette.lightGray;
|
||||||
|
foregroundBright = palette.lighterGray;
|
||||||
|
error = palette.red;
|
||||||
|
warning = palette.yellow;
|
||||||
|
success = palette.green;
|
||||||
|
accent = palette.purple;
|
||||||
|
};
|
||||||
|
|
||||||
|
polarity = "dark";
|
||||||
|
|
||||||
|
fonts = {
|
||||||
|
monospace = {
|
||||||
|
package = pkgs.inconsolata;
|
||||||
|
name = "Inconsolata";
|
||||||
|
};
|
||||||
|
sansSerif = {
|
||||||
|
package = pkgs.noto-fonts;
|
||||||
|
name = "NotoSans";
|
||||||
|
};
|
||||||
|
serif = {
|
||||||
|
package = pkgs.noto-fonts;
|
||||||
|
name = "NotoSerif";
|
||||||
|
};
|
||||||
|
emoji = {
|
||||||
|
package = pkgs.noto-fonts-color-emoji;
|
||||||
|
name = "noto-fonts-color-emoji";
|
||||||
|
};
|
||||||
|
sizes = {
|
||||||
|
applications = 14;
|
||||||
|
terminal = 14;
|
||||||
|
desktop = 14;
|
||||||
|
popups = 14;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
cursor = {
|
||||||
|
package = pkgs.whitesur-cursors;
|
||||||
|
name = "WhiteSur-cursors";
|
||||||
|
size = 20;
|
||||||
|
};
|
||||||
|
|
||||||
|
icons = {
|
||||||
|
package = pkgs.whitesur-icon-theme;
|
||||||
|
light = "WhiteSur-light";
|
||||||
|
dark = "WhiteSur-dark";
|
||||||
|
};
|
||||||
|
|
||||||
|
gtk = {
|
||||||
|
theme = {
|
||||||
|
package = pkgs.adw-gtk3;
|
||||||
|
name = "adw-gtk3";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
6
nixos/modules/theme/default.nix
Normal file
6
nixos/modules/theme/default.nix
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./fonts.nix
|
||||||
|
./home-manager.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
13
nixos/modules/theme/fonts.nix
Normal file
13
nixos/modules/theme/fonts.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
theme = import ./colors.nix { inherit pkgs; };
|
||||||
|
in
|
||||||
|
{
|
||||||
|
fonts.packages = [
|
||||||
|
theme.fonts.monospace.package
|
||||||
|
theme.fonts.sansSerif.package
|
||||||
|
theme.fonts.serif.package
|
||||||
|
theme.fonts.emoji.package
|
||||||
|
];
|
||||||
|
}
|
||||||
15
nixos/modules/theme/home-manager.nix
Normal file
15
nixos/modules/theme/home-manager.nix
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
theme = import ./colors.nix { inherit pkgs; };
|
||||||
|
in
|
||||||
|
{
|
||||||
|
home-manager.sharedModules = [
|
||||||
|
({ ... }: {
|
||||||
|
_module.args.theme = theme;
|
||||||
|
imports = [
|
||||||
|
../../../home/modules/theme
|
||||||
|
];
|
||||||
|
})
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
@ -1,65 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
stylix = {
|
|
||||||
enable = true;
|
|
||||||
autoEnable = true;
|
|
||||||
enableReleaseChecks = false;
|
|
||||||
base16Scheme = {
|
|
||||||
base00 = "#181818";
|
|
||||||
base01 = "#252525";
|
|
||||||
base02 = "#3b3b3b";
|
|
||||||
base03 = "#777777";
|
|
||||||
base04 = "#777777";
|
|
||||||
base05 = "#b9b9b9";
|
|
||||||
base06 = "#dedede";
|
|
||||||
base07 = "#dedede";
|
|
||||||
base08 = "#ed4a46";
|
|
||||||
base09 = "#e67f43";
|
|
||||||
base0A = "#dbb32d";
|
|
||||||
base0B = "#70b433";
|
|
||||||
base0C = "#eb6eb7";
|
|
||||||
base0D = "#a580e2";
|
|
||||||
base0E = "#368aeb";
|
|
||||||
base0F = "#3fc5b7";
|
|
||||||
};
|
|
||||||
|
|
||||||
polarity = "dark";
|
|
||||||
fonts = {
|
|
||||||
monospace = {
|
|
||||||
package = pkgs.inconsolata;
|
|
||||||
name = "Inconsolata";
|
|
||||||
};
|
|
||||||
sansSerif = {
|
|
||||||
package = pkgs.noto-fonts;
|
|
||||||
name = "NotoSans";
|
|
||||||
};
|
|
||||||
serif = {
|
|
||||||
package = pkgs.noto-fonts;
|
|
||||||
name = "NotoSerif";
|
|
||||||
};
|
|
||||||
emoji = {
|
|
||||||
package = pkgs.noto-fonts-color-emoji;
|
|
||||||
name = "noto-fonts-color-emoji";
|
|
||||||
};
|
|
||||||
sizes = {
|
|
||||||
applications = 14;
|
|
||||||
terminal = 14;
|
|
||||||
desktop = 14;
|
|
||||||
popups = 14;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
cursor = {
|
|
||||||
package = pkgs.whitesur-cursors;
|
|
||||||
name = "WhiteSur-cursors";
|
|
||||||
size = 20;
|
|
||||||
};
|
|
||||||
|
|
||||||
icons = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.whitesur-icon-theme;
|
|
||||||
light = "WhiteSur-light";
|
|
||||||
dark = "WhiteSur-dark";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
|
hardware.uinput.enable = true;
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
pavucontrol
|
pavucontrol
|
||||||
libinput
|
libinput
|
||||||
|
|
@ -91,5 +93,5 @@
|
||||||
gvfs.enable = true;
|
gvfs.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
users.users.alisceon.extraGroups = [ "video" "input" ];
|
users.users.alisceon.extraGroups = [ "video" "input" "uinput" ];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
36
util/pre_commit_nix_eval.sh
Normal file
36
util/pre_commit_nix_eval.sh
Normal file
|
|
@ -0,0 +1,36 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
repo_root="$(git rev-parse --show-toplevel)"
|
||||||
|
flake_ref="path:${repo_root}"
|
||||||
|
|
||||||
|
# Use a path flake ref so ignored files, especially the local flake.lock, are
|
||||||
|
# visible to Nix even though the repository itself is a Git worktree.
|
||||||
|
targets_text="$(
|
||||||
|
nix eval \
|
||||||
|
--raw \
|
||||||
|
--no-write-lock-file \
|
||||||
|
"${flake_ref}#nixosConfigurations" \
|
||||||
|
--apply 'configs: builtins.concatStringsSep "\n" (builtins.attrNames configs)'
|
||||||
|
)"
|
||||||
|
|
||||||
|
targets=()
|
||||||
|
while IFS= read -r target; do
|
||||||
|
if [ -n "${target}" ]; then
|
||||||
|
targets+=("${target}")
|
||||||
|
fi
|
||||||
|
done <<< "${targets_text}"
|
||||||
|
|
||||||
|
if [ "${#targets[@]}" -eq 0 ]; then
|
||||||
|
echo "No nixosConfigurations found to evaluate." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
for target in "${targets[@]}"; do
|
||||||
|
echo "Evaluating nixosConfigurations.${target}.config.system.build.toplevel"
|
||||||
|
nix eval \
|
||||||
|
--raw \
|
||||||
|
--no-write-lock-file \
|
||||||
|
"${flake_ref}#nixosConfigurations.${target}.config.system.build.toplevel.drvPath" \
|
||||||
|
>/dev/null
|
||||||
|
done
|
||||||
Loading…
Add table
Add a link
Reference in a new issue