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";
|
||||
|
||||
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 = {
|
||||
url = "github:nix-community/NUR";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
stylix = {
|
||||
url = "github:nix-community/stylix";
|
||||
url = "github:nix-community/home-manager/release-25.11";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
noctalia = {
|
||||
|
|
@ -30,6 +27,7 @@
|
|||
outputs = inputs @ {
|
||||
self,
|
||||
nixpkgs,
|
||||
nixpkgs-unstable,
|
||||
...
|
||||
}:
|
||||
let
|
||||
|
|
@ -42,13 +40,6 @@
|
|||
|
||||
overlays = [
|
||||
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 {
|
||||
|
|
@ -58,20 +49,26 @@
|
|||
inherit overlays;
|
||||
};
|
||||
|
||||
pkgs-unstable = import nixpkgs {
|
||||
inherit system;
|
||||
config.allowUnfree = true;
|
||||
flake.setFlakeRegistry = true;
|
||||
inherit overlays;
|
||||
};
|
||||
|
||||
sharedSpecialArgs = {
|
||||
inherit repoLocalPath;
|
||||
inherit repoLocalPath pkgs-unstable;
|
||||
repoRoot = self;
|
||||
};
|
||||
|
||||
sharedModules = [
|
||||
./nixos/modules/base.nix
|
||||
inputs.stylix.nixosModules.stylix
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
({ ... }: {
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.extraSpecialArgs = {
|
||||
inherit pkgs repoLocalPath;
|
||||
inherit pkgs repoLocalPath pkgs-unstable;
|
||||
repoRoot = self;
|
||||
};
|
||||
home-manager.backupFileExtension = "backup";
|
||||
|
|
@ -110,7 +107,7 @@
|
|||
workstationModules = [
|
||||
./nixos/modules/profiles/workstation.nix
|
||||
./nixos/modules/wm/sway.nix
|
||||
./nixos/modules/theme/stylix.nix
|
||||
./nixos/modules/theme
|
||||
];
|
||||
|
||||
workstationHomeModules = [
|
||||
|
|
|
|||
|
|
@ -1,4 +1,10 @@
|
|||
{ ... }:
|
||||
{ theme, ... }:
|
||||
|
||||
let
|
||||
n = theme.paletteNoHash;
|
||||
fonts = theme.fonts;
|
||||
terminalFontSize = toString fonts.sizes.terminal;
|
||||
in
|
||||
{
|
||||
programs.foot = {
|
||||
enable = true;
|
||||
|
|
@ -6,9 +12,39 @@
|
|||
settings = {
|
||||
main = {
|
||||
app-id = "footclient";
|
||||
dpi-aware = "no";
|
||||
font = "${fonts.monospace.name}:size=${terminalFontSize}";
|
||||
initial-color-theme = 1;
|
||||
workers = 32;
|
||||
};
|
||||
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;
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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 = {
|
||||
enable = true;
|
||||
settings = {
|
||||
color = n.darkestGray;
|
||||
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;
|
||||
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;
|
||||
package = pkgs.vscodium.fhsWithPackages (
|
||||
package = pkgs-unstable.vscode.fhsWithPackages (
|
||||
ps: with ps; [ git ]
|
||||
);
|
||||
profiles.default = {
|
||||
userSettings = {
|
||||
"python.languageServer" = "None";
|
||||
"python.pyrefly.displayTypeErrors" = "force-on";
|
||||
"explorer.confirmDelete" = false;
|
||||
"explorer.confirmDragAndDrop" = false;
|
||||
"explorer.confirmPasteNative" = false;
|
||||
"git.confirmSync" = false;
|
||||
};
|
||||
extensions = [
|
||||
pkgs.vscode-extensions.ms-python.python
|
||||
pkgs.vscode-extensions.ms-python.debugpy
|
||||
pkgs.vscode-extensions.ms-vscode.cpptools
|
||||
pkgs.vscode-extensions.jnoortheen.nix-ide
|
||||
pkgs.vscode-extensions.github.copilot
|
||||
] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
|
||||
pkgs-unstable.vscode-extensions.ms-python.python
|
||||
pkgs-unstable.vscode-extensions.ms-python.debugpy
|
||||
pkgs-unstable.vscode-extensions.ms-vscode.cpptools
|
||||
pkgs-unstable.vscode-extensions.jnoortheen.nix-ide
|
||||
pkgs-unstable.vscode-extensions.github.copilot
|
||||
] ++ pkgs-unstable.vscode-utils.extensionsFromVscodeMarketplace [
|
||||
{
|
||||
name = "xonsh";
|
||||
publisher = "jnoortheen";
|
||||
|
|
@ -30,14 +23,14 @@
|
|||
{
|
||||
name = "pyrefly";
|
||||
publisher = "meta";
|
||||
version = "0.57.1";
|
||||
hash = "sha256-aF7QcjpID0PE9gMBM6RGfJ3CHOpmyDuHJbbrRRvLiBI=";
|
||||
version = "1.0.0";
|
||||
hash = "sha256-0HMbHW2pFYTXhJH5cJ6JJYSNWXt3t2SxPBEa1J8ThXg=";
|
||||
}
|
||||
{
|
||||
name = "chatgpt";
|
||||
publisher = "openai";
|
||||
version = "26.5313.41514";
|
||||
hash = "sha256-kZHfcMzxqCtvkU04kDrlwaO3uHvn4+V6B5sLzlDfceo=";
|
||||
version = "26.5519.32039";
|
||||
hash = "sha256-hJhmLn3AvmY3X3RlbKlpeBX94w8PPm1cuPb3GNvgL/g=";
|
||||
}
|
||||
];
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,15 +1,19 @@
|
|||
{ pkgs, ... }:
|
||||
let
|
||||
commands = import ../../../lib/commands.nix { inherit pkgs; };
|
||||
commands = import ../../../../lib/commands.nix { inherit pkgs; };
|
||||
inherit (commands) uwsm term;
|
||||
height = 20;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./style.nix
|
||||
];
|
||||
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
systemd = {
|
||||
enable = true;
|
||||
targets = [ "graphical-session.target" ];
|
||||
target = "graphical-session.target";
|
||||
};
|
||||
settings.mainBar = {
|
||||
layer = "bottom";
|
||||
|
|
@ -94,12 +98,5 @@ in
|
|||
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 = {
|
||||
enable = true;
|
||||
settings = {
|
||||
actions = true;
|
||||
anchor = "top-center";
|
||||
background-color = "${p.darkestGray}FF";
|
||||
border-color = p.purple;
|
||||
border-radius = 0;
|
||||
default-timeout = 10000;
|
||||
font = "${fonts.sansSerif.name} ${fontSize}";
|
||||
height = 100;
|
||||
width = 600;
|
||||
icons = true;
|
||||
|
|
@ -14,6 +23,18 @@
|
|||
layer = "overlay";
|
||||
margin = 10;
|
||||
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";
|
||||
}
|
||||
];
|
||||
events = {
|
||||
before-sleep = "display off; systemctl --user stop libinput-gestures; ${lock}";
|
||||
after-resume = "display on; systemctl --user start libinput-gestures";
|
||||
lock = (display "off") + "; " + lock;
|
||||
unlock = display "on";
|
||||
};
|
||||
events = [
|
||||
{
|
||||
event = "before-sleep";
|
||||
command = "display off; systemctl --user stop libinput-gestures; ${lock}";
|
||||
}
|
||||
{
|
||||
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 = [
|
||||
./gtk.nix
|
||||
./theme.nix
|
||||
./xdg.nix
|
||||
./shells/default.nix
|
||||
../../programs/foot.nix
|
||||
../../programs/qutebrowser.nix
|
||||
../../programs/qutebrowser
|
||||
../../services/espanso.nix
|
||||
../../services/gnome-keyring.nix
|
||||
];
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@ let
|
|||
in
|
||||
{
|
||||
imports = [
|
||||
../../../programs/rofi.nix
|
||||
../../../programs/waybar.nix
|
||||
../../../programs/rofi
|
||||
../../../programs/waybar
|
||||
../../../programs/swaylock.nix
|
||||
../../../services/swayidle.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
|
||||
commands = import ../../../../lib/commands.nix { inherit pkgs; };
|
||||
inherit (commands) swaymsg lock;
|
||||
|
|
@ -28,7 +28,7 @@ in
|
|||
pkgs.vlc
|
||||
pkgs.loupe
|
||||
pkgs.nautilus
|
||||
pkgs.chromium
|
||||
pkgs-unstable.chromium
|
||||
];
|
||||
defaultApplications = {
|
||||
"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 = [
|
||||
../modules/programs/chromium.nix
|
||||
|
|
@ -6,26 +9,22 @@
|
|||
../modules/programs/vscode.nix
|
||||
../modules/services/syncthing.nix
|
||||
];
|
||||
|
||||
stylix.enableReleaseChecks = false;
|
||||
|
||||
xdg.configFile."obsidian/obsidian.json".source = lib.mkForce ../conf/obsidian.json;
|
||||
|
||||
xdg = {
|
||||
enable = true;
|
||||
userDirs = {
|
||||
enable = true;
|
||||
setSessionVariables = true;
|
||||
};
|
||||
mime.enable = true;
|
||||
autostart = {
|
||||
enable = true;
|
||||
entries = [
|
||||
"${pkgs.chromium}/share/applications/chromium-browser.desktop"
|
||||
"${pkgs.discord}/share/applications/discord.desktop"
|
||||
"${pkgs.signal-desktop}/share/applications/signal.desktop"
|
||||
"${pkgs.obsidian}/share/applications/obsidian.desktop"
|
||||
"${pkgs.vscodium}/share/applications/codium.desktop"
|
||||
"${pkgs-unstable.chromium}/share/applications/chromium-browser.desktop"
|
||||
"${pkgs-unstable.discord}/share/applications/discord.desktop"
|
||||
"${pkgs-unstable.signal-desktop}/share/applications/signal.desktop"
|
||||
"${pkgs-unstable.obsidian}/share/applications/obsidian.desktop"
|
||||
"${pkgs-unstable.vscode}/share/applications/code.desktop"
|
||||
];
|
||||
};
|
||||
desktopEntries = {
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@
|
|||
loader.efi.canTouchEfiVariables = true;
|
||||
initrd = {
|
||||
enable = true;
|
||||
systemd.enable = true;
|
||||
luks.devices."luks-654125f4-7b26-408d-b1b5-d31648ec8770".device = "/dev/disk/by-uuid/654125f4-7b26-408d-b1b5-d31648ec8770";
|
||||
verbose = false;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,4 +1,8 @@
|
|||
{ config, pkgs, lib, repoLocalPath, ... }:
|
||||
let
|
||||
autoUpgradeUser = "alisceon";
|
||||
flakeRef = "path:${repoLocalPath}";
|
||||
in
|
||||
{
|
||||
boot = {
|
||||
kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
|
||||
|
|
@ -18,25 +22,36 @@
|
|||
system.autoUpgrade = {
|
||||
enable = true;
|
||||
persistent = true;
|
||||
flake = repoLocalPath;
|
||||
flake = flakeRef;
|
||||
upgrade = false;
|
||||
flags = [
|
||||
"--print-build-logs"
|
||||
"--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 = {
|
||||
settings = {
|
||||
experimental-features = [ "nix-command" "flakes" ];
|
||||
auto-optimise-store = true;
|
||||
min-free = 1024 * 1024 * 1024;
|
||||
max-free = 5 * 1024 * 1024 * 1024;
|
||||
trusted-users = [ "root" "alisceon" ];
|
||||
};
|
||||
gc = {
|
||||
automatic = true;
|
||||
persistent = true;
|
||||
dates = "daily";
|
||||
options = "--delete-older-than 7d";
|
||||
dates = "weekly";
|
||||
randomizedDelaySec = "2h";
|
||||
options = "--delete-older-than 14d";
|
||||
};
|
||||
registry = {
|
||||
templates.to = {
|
||||
|
|
@ -47,17 +62,19 @@
|
|||
type = "github";
|
||||
owner = "NixOS";
|
||||
repo = "nixpkgs";
|
||||
ref = "nixos-unstable";
|
||||
ref = "nixos-25.11";
|
||||
};
|
||||
nixpkgs-stable.to = {
|
||||
type = "github";
|
||||
owner = "NixOS";
|
||||
repo = "nixpkgs";
|
||||
ref = "nixos-25.05";
|
||||
ref = "nixos-25.11";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
boot.loader.systemd-boot.configurationLimit = lib.mkDefault 10;
|
||||
|
||||
console.keyMap = "sv-latin1";
|
||||
networking.networkmanager.enable = true;
|
||||
time.timeZone = "Europe/Stockholm";
|
||||
|
|
|
|||
|
|
@ -1,6 +1,12 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
system.autoUpgrade.allowReboot = true;
|
||||
system.autoUpgrade = {
|
||||
allowReboot = true;
|
||||
rebootWindow = {
|
||||
lower = "03:00";
|
||||
upper = "05:00";
|
||||
};
|
||||
};
|
||||
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,11 @@
|
|||
{ pkgs, ... }:
|
||||
{ pkgs, pkgs-unstable, ... }:
|
||||
{
|
||||
boot = {
|
||||
plymouth.enable = true;
|
||||
plymouth = {
|
||||
enable = true;
|
||||
theme = "nixos-bgrt";
|
||||
themePackages = [ pkgs.nixos-bgrt-plymouth ];
|
||||
};
|
||||
kernelParams = [
|
||||
"quiet"
|
||||
"udev.log_level=3"
|
||||
|
|
@ -37,6 +41,11 @@
|
|||
|
||||
programs.dconf.enable = true;
|
||||
|
||||
users = {
|
||||
groups.plugdev = {};
|
||||
users.alisceon.extraGroups = [ "plugdev" ];
|
||||
};
|
||||
|
||||
networking.firewall.allowedTCPPorts = [
|
||||
1312
|
||||
8000
|
||||
|
|
@ -46,20 +55,20 @@
|
|||
|
||||
environment = {
|
||||
systemPackages = [
|
||||
pkgs.discord
|
||||
pkgs.signal-desktop
|
||||
pkgs-unstable.discord
|
||||
pkgs-unstable.signal-desktop
|
||||
pkgs.mumble
|
||||
(pkgs.chromium.override { enableWideVine = true; })
|
||||
(pkgs-unstable.chromium.override { enableWideVine = true; })
|
||||
pkgs.google-chrome
|
||||
pkgs.vscodium
|
||||
pkgs.codex
|
||||
pkgs-unstable.vscode
|
||||
pkgs-unstable.codex
|
||||
pkgs.devenv
|
||||
pkgs.direnv
|
||||
pkgs.syncthing
|
||||
pkgs.steam
|
||||
pkgs.krita
|
||||
pkgs.edk2-uefi-shell
|
||||
pkgs.obsidian
|
||||
pkgs-unstable.obsidian
|
||||
pkgs.gparted
|
||||
pkgs.vlc
|
||||
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, ... }:
|
||||
{
|
||||
hardware.uinput.enable = true;
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
pavucontrol
|
||||
libinput
|
||||
|
|
@ -91,5 +93,5 @@
|
|||
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