Compare commits
55
Commits
dendritic
...
99cd12bbc6
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
99cd12bbc6 | ||
|
|
1827e1e8d7 | ||
|
|
82023d7721 | ||
|
|
99966bc87f | ||
|
|
ab75bec987 | ||
|
|
5bb60f75e6 | ||
|
|
de577756a6 | ||
|
|
8712ea4baf
|
||
|
|
9c101ab211
|
||
|
|
7c83ca07de
|
||
|
|
46e85e815d
|
||
|
|
3fa5ef2441
|
||
|
|
7fb5a0515a
|
||
|
|
1cf44c97cc
|
||
|
|
7fc9d10092
|
||
|
|
61f4e15fb2
|
||
|
|
24146bede1
|
||
|
|
8181d81ca4
|
||
|
|
64283c6373
|
||
|
|
abbadf42ec | ||
|
|
007f448fe8 | ||
|
|
f3724fee3a
|
||
|
|
375fd4d842
|
||
|
|
59ae67fcdb
|
||
|
|
ea7a0cf4b3
|
||
|
|
dbc68e540f
|
||
|
|
c1eff7e53b
|
||
|
|
1f0dd9f149
|
||
|
|
170a8abba2
|
||
|
|
c6f03484a6 | ||
|
|
3c3e253d35 | ||
|
|
25e647190b | ||
|
|
c942a482c2 | ||
|
|
a802c85678 | ||
|
|
fc58b0ad29 | ||
|
|
5d4e3982ee | ||
|
|
cbedc31575 | ||
|
|
f6585da4b7 | ||
|
|
64336e8f9f | ||
|
|
efbb990fab | ||
|
|
0f105b5324 | ||
|
|
eb0c48b1e7 | ||
|
|
e22144dcc0 | ||
|
|
09e90babd9 | ||
|
|
1d14750a1f | ||
|
|
300a594250 | ||
|
|
dcda6ea9b8 | ||
|
|
c3981e6316 | ||
|
|
cb37b19941 | ||
|
|
e54fc963f6 | ||
|
|
94cad97ba9 | ||
|
|
59b1f8b632 | ||
|
|
de7db470ae | ||
|
|
336c395b56 | ||
|
|
dbed42316a |
@@ -0,0 +1 @@
|
||||
result
|
||||
|
||||
Generated
+55
-123
@@ -60,16 +60,16 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1768256610,
|
||||
"narHash": "sha256-IyL6nZo242nDLoLQVwkqAZXp8FO5kBfjL6Fuh+gZO10=",
|
||||
"lastModified": 1780143400,
|
||||
"narHash": "sha256-jN9RJ4OeuLdCxZ1G0d4zqy0HuHnqODxxgN6pQoYfAH8=",
|
||||
"owner": "catppuccin",
|
||||
"repo": "nix",
|
||||
"rev": "0734ad8c91342df34f1a1e5c183d053d70ba87c7",
|
||||
"rev": "096f4670cf078d810a931fae59b57db4cc3fb4d3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "catppuccin",
|
||||
"ref": "release-25.11",
|
||||
"ref": "release-26.05",
|
||||
"repo": "nix",
|
||||
"type": "github"
|
||||
}
|
||||
@@ -98,11 +98,11 @@
|
||||
},
|
||||
"flake-file": {
|
||||
"locked": {
|
||||
"lastModified": 1773224147,
|
||||
"narHash": "sha256-w9RQyKZSTfqoZPRzIf7H4qVHy2N6uFk1MUU+c1K4c40=",
|
||||
"lastModified": 1781217157,
|
||||
"narHash": "sha256-N3q/SP2Ropk336e9KSgLh7kpROY6P70dprYdbPIfd5c=",
|
||||
"owner": "vic",
|
||||
"repo": "flake-file",
|
||||
"rev": "97bd69ff570dddccd704077830446ec1ca3a6988",
|
||||
"rev": "ce63eaf7ebfe04a176653f66385a7f0a36380cee",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -116,11 +116,11 @@
|
||||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1772408722,
|
||||
"narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=",
|
||||
"lastModified": 1778716662,
|
||||
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3",
|
||||
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -137,11 +137,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1768135262,
|
||||
"narHash": "sha256-PVvu7OqHBGWN16zSi6tEmPwwHQ4rLPU9Plvs8/1TUBY=",
|
||||
"lastModified": 1778716662,
|
||||
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "80daad04eddbbf5a4d883996a73f3f542fa437ac",
|
||||
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -150,24 +150,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@@ -175,27 +157,27 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1773264488,
|
||||
"narHash": "sha256-rK0507bDuWBrZo+0zts9bCs/+RRUEHuvFE5DHWPxX/Q=",
|
||||
"lastModified": 1781319724,
|
||||
"narHash": "sha256-ZGuxexEMo4Xv28KJ0dX/m/PHN4oZIOnxHZpNTyrvx4M=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "5c0f63f8d55040a7eed69df7e3fcdd15dfb5a04c",
|
||||
"rev": "8355f0a16b2dbb06a97959a918af5b239bbe05ae",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"ref": "release-25.11",
|
||||
"ref": "release-26.05",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"import-tree": {
|
||||
"locked": {
|
||||
"lastModified": 1772999353,
|
||||
"narHash": "sha256-dPb0WxUhFaz6wuR3B6ysqFJpsu8txKDPZvS47AT2XLI=",
|
||||
"lastModified": 1778781969,
|
||||
"narHash": "sha256-Jjuz5CmSkur8KvLDoGa+vylEp+RkQtv4mt/qcMznpH0=",
|
||||
"owner": "vic",
|
||||
"repo": "import-tree",
|
||||
"rev": "545a4df146fce44d155573e47f5a777985acf912",
|
||||
"rev": "d321337efd0f23a9eb14a42adb7b2c29313ab274",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -204,57 +186,29 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"ixx": {
|
||||
"inputs": {
|
||||
"flake-utils": [
|
||||
"nixvim",
|
||||
"nuschtosSearch",
|
||||
"flake-utils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nuschtosSearch",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1754860581,
|
||||
"narHash": "sha256-EM0IE63OHxXCOpDHXaTyHIOk2cNvMCGPqLt/IdtVxgk=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "ixx",
|
||||
"rev": "babfe85a876162c4acc9ab6fb4483df88fa1f281",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NuschtOS",
|
||||
"ref": "v0.1.1",
|
||||
"repo": "ixx",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1773375660,
|
||||
"narHash": "sha256-SEzUWw2Rf5Ki3bcM26nSKgbeoqi2uYy8IHVBqOKjX3w=",
|
||||
"lastModified": 1781216227,
|
||||
"narHash": "sha256-9mUW6gNwoN2SWc/l0fW4svPNOulXLl8ijqKyeSOGgJE=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "3e20095fe3c6cbb1ddcef89b26969a69a1570776",
|
||||
"rev": "a0374025a863d007d98e3297f6aa46cc3141c2f0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-25.11",
|
||||
"ref": "nixos-26.05",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-lib": {
|
||||
"locked": {
|
||||
"lastModified": 1772328832,
|
||||
"narHash": "sha256-e+/T/pmEkLP6BHhYjx6GmwP5ivonQQn0bJdH9YrRB+Q=",
|
||||
"lastModified": 1777168982,
|
||||
"narHash": "sha256-GOkGPcboWE9BmGCRMLX3worL4EMnsnG8MyKmXNeYuhQ=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"rev": "c185c7a5e5dd8f9add5b2f8ebeff00888b070742",
|
||||
"rev": "f5901329dade4a6ea039af1433fb087bd9c1fe14",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -265,11 +219,11 @@
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1773282481,
|
||||
"narHash": "sha256-b/GV2ysM8mKHhinse2wz+uP37epUrSE+sAKXy/xvBY4=",
|
||||
"lastModified": 1781577229,
|
||||
"narHash": "sha256-lrp67w8AulE9Ks53n27I45ADSzbOCn4H+CNW1Ck8B+8=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "fe416aaedd397cacb33a610b33d60ff2b431b127",
|
||||
"rev": "567a49d1913ce81ac6e9582e3553dd90a955875f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -285,44 +239,36 @@
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"nuschtosSearch": "nuschtosSearch",
|
||||
"systems": "systems_3"
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1769049374,
|
||||
"narHash": "sha256-h0Os2qqNyycDY1FyZgtbn28VF1ySP74/n0f+LDd8j+w=",
|
||||
"lastModified": 1781915791,
|
||||
"narHash": "sha256-LT1typkmETNVtWQncEByIR64ycmzZqxqtzZ5I9QkyTY=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"rev": "b8f76bf5751835647538ef8784e4e6ee8deb8f95",
|
||||
"rev": "62019d53fd44f9fe20e3e20c891fbca567f3d331",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"ref": "nixos-25.11",
|
||||
"ref": "nixos-26.05",
|
||||
"repo": "nixvim",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nuschtosSearch": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"ixx": "ixx",
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"orly-covers": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1768249818,
|
||||
"narHash": "sha256-ANfn5OqIxq3HONPIXZ6zuI5sLzX1sS+2qcf/Pa0kQEc=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "search",
|
||||
"rev": "b6f77b88e9009bfde28e2130e218e5123dc66796",
|
||||
"lastModified": 1482210547,
|
||||
"narHash": "sha256-3uU/RbOCZQS8kFu74zHpsHilQoaz9Jhv3vluI9axVPk=",
|
||||
"owner": "thepracticaldev",
|
||||
"repo": "orly-full-res",
|
||||
"rev": "15c2b8dc906a7027391c11f559249c57e1a0a056",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NuschtOS",
|
||||
"repo": "search",
|
||||
"owner": "thepracticaldev",
|
||||
"repo": "orly-full-res",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
@@ -339,6 +285,7 @@
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||
"nixvim": "nixvim",
|
||||
"orly-covers": "orly-covers",
|
||||
"rust-overlay": "rust-overlay",
|
||||
"secrets": "secrets",
|
||||
"spicetify-nix": "spicetify-nix",
|
||||
@@ -352,11 +299,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1773457417,
|
||||
"narHash": "sha256-waABTSxPdbxml4BhcabHhyQF02Qnj27qRU4ard0mTQo=",
|
||||
"lastModified": 1781850613,
|
||||
"narHash": "sha256-UL/f++6fbg1MSC63NSynUVsww+DSay0N5TsbFzLZIsQ=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "055977c30249484010750e03074c744dcdaa0d23",
|
||||
"rev": "4baecb43a008cd004e5220a777e1724bd8d43e43",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -382,14 +329,14 @@
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": "systems_4"
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1773161309,
|
||||
"narHash": "sha256-k2Un0blYBeoN8mB5HO4rqCKISb427IWy0fzCdCUIcio=",
|
||||
"lastModified": 1781425310,
|
||||
"narHash": "sha256-GTBka4Df/ZOacmisI/DI2LICyNChEqn/giah83LucdM=",
|
||||
"owner": "Gerg-L",
|
||||
"repo": "spicetify-nix",
|
||||
"rev": "61df7293cf732c7b66cce7f8b46f7017e721a6cd",
|
||||
"rev": "aeaf7c81a45d3761da61cb05bfc370ac6d1b0441",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -443,21 +390,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_4": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"zen-browser": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@@ -465,11 +397,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1773290160,
|
||||
"narHash": "sha256-u09eF4Oafi+OIbTtKe/EWil26q1glcTATiSA7dF1oCI=",
|
||||
"lastModified": 1781847955,
|
||||
"narHash": "sha256-1OSYOGuJp/NoODmSHjsz+6TB/kSilJ+BsFihjY7TTnc=",
|
||||
"owner": "youwen5",
|
||||
"repo": "zen-browser-flake",
|
||||
"rev": "c7cb51b30960757ed9fb8eb28567b32585d0a688",
|
||||
"rev": "4bca251cd556677f7b765ff324d1638ae215be13",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -20,22 +20,26 @@
|
||||
flake = false;
|
||||
};
|
||||
catppuccin = {
|
||||
url = "github:catppuccin/nix/release-25.11";
|
||||
url = "github:catppuccin/nix/release-26.05";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
flake-file.url = "github:vic/flake-file";
|
||||
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager/release-25.11";
|
||||
url = "github:nix-community/home-manager/release-26.05";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
import-tree.url = "github:vic/import-tree";
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05";
|
||||
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
nixvim = {
|
||||
url = "github:nix-community/nixvim/nixos-25.11";
|
||||
url = "github:nix-community/nixvim/nixos-26.05";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
orly-covers = {
|
||||
url = "github:thepracticaldev/orly-full-res";
|
||||
flake = false;
|
||||
};
|
||||
rust-overlay = {
|
||||
url = "github:oxalica/rust-overlay";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
programs.zsh.profileExtra = ''
|
||||
if [ -z "$WAYLAND_DISPLAY" ] && [ "$XDG_VTNR" = 1 ]; then
|
||||
exec hyprland
|
||||
exec start-hyprland
|
||||
fi
|
||||
'';
|
||||
};
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
{
|
||||
config.flake.factory.hyprpaper = mappings: { config
|
||||
, osConfig
|
||||
, lib
|
||||
, ...
|
||||
}: {
|
||||
services.hyprpaper = assert osConfig.programs.hyprland.enable; {
|
||||
enable = true;
|
||||
settings = {
|
||||
preload = map ({ path, ... }: path) mappings;
|
||||
wallpaper =
|
||||
map
|
||||
({ monitor
|
||||
, path
|
||||
, prefix ? ""
|
||||
,
|
||||
}: "${monitor},${prefix}${path}")
|
||||
mappings;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,8 +1,9 @@
|
||||
{
|
||||
config.flake.factory.wpaperd = config: {
|
||||
config.flake.factory.wpaperd = config: { pkgs, ... }: {
|
||||
services.wpaperd = {
|
||||
enable = true;
|
||||
settings = config;
|
||||
package = pkgs.unstable.wpaperd;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -7,6 +7,9 @@
|
||||
(grub-boot "/dev/nvme0n1")
|
||||
development-tools
|
||||
i18n-de
|
||||
mount-duke-smb
|
||||
keith-devtools
|
||||
# (sunshine "weckyy702")
|
||||
|
||||
#TODO: moar aspects
|
||||
];
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
{ inputs, ... }: {
|
||||
flake.modules.nixos.keith-devtools = {
|
||||
imports = with inputs.self.modules.nixos;
|
||||
with inputs.self.factory; [
|
||||
development-tools
|
||||
rust-dev
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{ self
|
||||
, inputs
|
||||
, ...
|
||||
}: {
|
||||
flake.modules.nixos.keith = { config, ... }: {
|
||||
age.secrets.upsmon.file = "${inputs.secrets}/upsmon.age";
|
||||
|
||||
imports = with self.factory; [
|
||||
(nut-client {
|
||||
buggie = {
|
||||
type = "slave";
|
||||
passwordFile = config.age.secrets.upsmon.path;
|
||||
system = "main-ups@buggie.veltnet";
|
||||
user = "observer";
|
||||
};
|
||||
})
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
flake.modules.homeManager.keith-weckyy702-git = {
|
||||
programs.git.signing.key = "/home/weckyy702/.ssh/id_ed25519";
|
||||
};
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
{ inputs, ... }: {
|
||||
flake.modules.nixos.keith = { config, ... }: {
|
||||
age.secrets."nas-creds".file = "${inputs.secrets}/nas-creds.age";
|
||||
|
||||
imports = with inputs.self.factory; [
|
||||
(mount-cifs {
|
||||
host = "duke.veltnet";
|
||||
resource = "home";
|
||||
destination = "/home/weckyy702/duke";
|
||||
credentials_path = "${config.age.secrets.nas-creds.path}";
|
||||
UID = "weckyy702";
|
||||
GID = "users";
|
||||
})
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -3,22 +3,25 @@
|
||||
imports = with inputs.self.modules.nixos; [
|
||||
weckyy702
|
||||
steam
|
||||
mullvad
|
||||
];
|
||||
|
||||
home-manager.users.weckyy702 = { config, ... }: {
|
||||
imports = with inputs.self.modules.homeManager;
|
||||
with inputs.self.factory; [
|
||||
(hyprpaper {
|
||||
wallpaper_path = "${inputs.assets}/horizontal_16x9.png";
|
||||
monitor_names = [
|
||||
"DP-1"
|
||||
"HDMI-A-1"
|
||||
];
|
||||
(wpaperd {
|
||||
default = {
|
||||
path = "${inputs.assets}/horizontal_16x9.png";
|
||||
};
|
||||
})
|
||||
ashell
|
||||
keith-weckyy702-git
|
||||
|
||||
vesktop
|
||||
spicetify
|
||||
borgmatic
|
||||
qbittorrent
|
||||
|
||||
prusa-slicer
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
{ inputs, ... }: {
|
||||
flake.modules.nixos.tux-devtools = {
|
||||
imports = with inputs.self.modules.nixos;
|
||||
with inputs.self.factory; [
|
||||
development-tools
|
||||
rust-dev
|
||||
|
||||
udev
|
||||
udev-pio
|
||||
udev-lauterbach
|
||||
|
||||
(docker [ "weckyy702" ])
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,20 +1,18 @@
|
||||
{
|
||||
flake.modules.nixos.tux = {
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/39bb2139-7d71-4f3d-9c11-2cf3fe26ad7d";
|
||||
flake.modules.nixos.tux-filesystems = {
|
||||
fileSystems."/" = {
|
||||
device = "/dev/mapper/luks-9d836ef1-a7f9-430f-8fb8-f202f6336e5a";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/6514-61C0";
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/15FA-55CF";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0077" "dmask=0077" ];
|
||||
};
|
||||
|
||||
swapDevices =
|
||||
[ { device = "/dev/disk/by-uuid/ac1606de-34d3-4036-baf6-2ed17e54bfc3"; }
|
||||
swapDevices = [
|
||||
{ device = "/dev/mapper/luks-46e78828-ab23-48b8-8e2a-de7a21adbe24"; }
|
||||
];
|
||||
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,15 +1,16 @@
|
||||
{ inputs, ... }: {
|
||||
flake.modules.nixos.tux = {
|
||||
flake.modules.nixos.tux-hardware = {
|
||||
imports = with inputs.self.modules.nixos; [
|
||||
intel-gpu
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "sdhci_pci" ];
|
||||
boot.initrd.luks.devices."luks-9d836ef1-a7f9-430f-8fb8-f202f6336e5a".device = "/dev/disk/by-uuid/9d836ef1-a7f9-430f-8fb8-f202f6336e5a";
|
||||
boot.initrd.luks.devices."luks-46e78828-ab23-48b8-8e2a-de7a21adbe24".device = "/dev/disk/by-uuid/46e78828-ab23-48b8-8e2a-de7a21adbe24";
|
||||
|
||||
nixpkgs.hostPlatform = "x86_64-linux";
|
||||
|
||||
hardware.enableRedistributableFirmware = true;
|
||||
hardware.cpu.intel.updateMicrocode = true;
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{ inputs, ... }: {
|
||||
flake.modules.nixos.tux = {
|
||||
flake.modules.nixos.tux-networking = {
|
||||
imports = with inputs.self.modules.nixos; [
|
||||
networkmanager
|
||||
];
|
||||
|
||||
@@ -4,14 +4,21 @@
|
||||
with inputs.self.factory; [
|
||||
system-desktop
|
||||
systemd-boot
|
||||
bluetooth
|
||||
i18n-de
|
||||
home-vpn
|
||||
opentablet
|
||||
appimage
|
||||
powermanagement
|
||||
mount-duke-smb
|
||||
tux-hardware
|
||||
tux-filesystems
|
||||
tux-networking
|
||||
tux-devtools
|
||||
|
||||
tux-weckyy702
|
||||
|
||||
(autologin "weckyy702")
|
||||
|
||||
development-tools
|
||||
i18n-de
|
||||
tailscale
|
||||
|
||||
#TODO: laptop specific aspects like powertop
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
{ inputs, ... }: {
|
||||
flake.modules.homeManager.tux-hyprland = {
|
||||
imports = with inputs.self.modules.homeManager; [
|
||||
ashell
|
||||
];
|
||||
wayland.windowManager.hyprland.extraConfig = ''
|
||||
hl.monitor({
|
||||
output = "eDP-1",
|
||||
mode = "preferred",
|
||||
position = "0x0",
|
||||
scale = 1.066666667,
|
||||
})
|
||||
'';
|
||||
};
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
{ inputs, ... }: {
|
||||
flake.modules.nixos.tux = {
|
||||
imports = with inputs.self.modules.nixos; [
|
||||
backlight
|
||||
];
|
||||
users.users.weckyy702.extraGroups = [ "video" ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
flake.modules.homeManager.tux-weckyy702-git = {
|
||||
programs.git.signing.key = "/home/weckyy702/.ssh/id_ed25519_github_sign";
|
||||
};
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
{ inputs, ... }: {
|
||||
flake-file.inputs = {
|
||||
aghpb = {
|
||||
url = "github:cat-milk/Anime-Girls-Holding-Programming-Books";
|
||||
flake = false;
|
||||
};
|
||||
};
|
||||
|
||||
flake.modules.homeManager.tux-hyprland = {
|
||||
imports = with inputs.self.modules.homeManager; [
|
||||
ashell
|
||||
];
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
monitor = [
|
||||
"eDP-1,preferred,0x0,1.066666667"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
{ inputs, ... }: {
|
||||
flake.modules.homeManager.randomized-aghpb-wallpaper = {
|
||||
imports = with inputs.self.factory; [
|
||||
(wpaperd {
|
||||
default = {
|
||||
path = inputs.aghpb;
|
||||
recursive = true;
|
||||
mode = "stretch";
|
||||
duration = "5m";
|
||||
};
|
||||
})
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,8 +1,9 @@
|
||||
{ inputs, ... }: {
|
||||
flake.modules.nixos.tux = {
|
||||
flake.modules.nixos.tux-weckyy702 = {
|
||||
imports = with inputs.self.modules.nixos; [
|
||||
weckyy702
|
||||
upower
|
||||
libreoffice
|
||||
];
|
||||
|
||||
home-manager.users.weckyy702 = {
|
||||
@@ -14,6 +15,11 @@
|
||||
tux-hyprland
|
||||
randomized-aghpb-wallpaper
|
||||
nm-applet
|
||||
blueman-applet
|
||||
prusa-slicer
|
||||
backlight
|
||||
|
||||
tux-weckyy702-git
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
}: {
|
||||
# Add home-manager input
|
||||
flake-file.inputs = {
|
||||
home-manager.url = "github:nix-community/home-manager/release-25.11";
|
||||
home-manager.url = "github:nix-community/home-manager/release-26.05";
|
||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
flake.modules.nixos.appimage = { pkgs, ...}: {
|
||||
programs.appimage = {
|
||||
enable = true;
|
||||
binfmt = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -6,9 +6,84 @@
|
||||
};
|
||||
};
|
||||
|
||||
flake.modules.homeManager.browser = { pkgs, ... }: {
|
||||
flake.modules.homeManager.browser =
|
||||
{ pkgs
|
||||
, lib
|
||||
, ...
|
||||
}:
|
||||
let
|
||||
mkExtension = shortId: guid: {
|
||||
name = guid;
|
||||
value = {
|
||||
install_url = "https://addons.mozilla.org/en-US/firefox/downloads/latest/${shortId}/latest.xpi";
|
||||
installation_mode = "normal_installed";
|
||||
};
|
||||
};
|
||||
zen-pkg =
|
||||
inputs.zen-browser.packages.${pkgs.stdenv.hostPlatform.system}.zen-browser-unwrapped;
|
||||
|
||||
prefs = {
|
||||
"zen.tabs.vertical.right-side" = true;
|
||||
"zen.workspaces.force-container-workspace" = true;
|
||||
"zen.view.compact.enable-at-startup" = true;
|
||||
"zen.pinned-tab-manager.restore-pinned-tabs-to-pinned-url" = true;
|
||||
"zen.welcome-screen.seen" = true;
|
||||
|
||||
"sidebar.visibility" = "hide-sidebar";
|
||||
|
||||
"browser.ctrlTab.sortByRecentlyUsed" = true;
|
||||
|
||||
"privacy.fingerprintingProtection" = true;
|
||||
"privacy.globalprivacycontrol.was_ever_enabled" = true;
|
||||
"privacy.sanitize.clearOnShutdown.hasMigratedToNewPrefs3" = true;
|
||||
"privacy.trackingprotection.allow_list.convenience.enabled" = false;
|
||||
"privacy.trackingprotection.allow_list.hasMigratedCategoryPrefs" = true;
|
||||
"privacy.trackingprotection.allow_list.hasUserInteractedWithETPSettings" = true;
|
||||
"privacy.trackingprotection.emailtracking.enabled" = true;
|
||||
"privacy.trackingprotection.enabled" = true;
|
||||
"privacy.trackingprotection.socialtracking.enabled" = true;
|
||||
};
|
||||
extensions = [
|
||||
# To add additional extensions, find it on addons.mozilla.org, find
|
||||
# the short ID in the url (like https://addons.mozilla.org/en-US/firefox/addon/!SHORT_ID!/)
|
||||
# Then go to https://addons.mozilla.org/api/v5/addons/addon/!SHORT_ID!/ to get the guid
|
||||
(mkExtension "ublock-origin" "uBlock0@raymondhill.net")
|
||||
(mkExtension "darkreader" "addon@darkreader.org")
|
||||
(mkExtension "bitwarden-password-manager" "{446900e4-71c2-419f-a6a7-df9c091e268b}")
|
||||
# ...
|
||||
];
|
||||
in
|
||||
{
|
||||
home.packages = [
|
||||
inputs.zen-browser.packages.${pkgs.stdenv.hostPlatform.system}.default
|
||||
(
|
||||
pkgs.wrapFirefox zen-pkg
|
||||
{
|
||||
extraPrefs = lib.concatLines (
|
||||
lib.mapAttrsToList
|
||||
(
|
||||
name: value: ''lockPref(${lib.strings.toJSON name}, ${lib.strings.toJSON value});''
|
||||
)
|
||||
prefs
|
||||
);
|
||||
|
||||
extraPolicies = {
|
||||
DisableTelemetry = true;
|
||||
ExtensionSettings = builtins.listToAttrs extensions;
|
||||
|
||||
SearchEngines = {
|
||||
Default = "ddg";
|
||||
Add = [
|
||||
{
|
||||
Name = "nixpkgs packages";
|
||||
URLTemplate = "https://search.nixos.org/packages?query={searchTerms}";
|
||||
IconURL = "https://wiki.nixos.org/favicon.ico";
|
||||
Alias = "@np";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
)
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{ inputs, ... }: {
|
||||
flake-file.inputs = {
|
||||
catppuccin.url = "github:catppuccin/nix/release-25.11";
|
||||
catppuccin.url = "github:catppuccin/nix/release-26.05";
|
||||
catppuccin.inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
@@ -38,11 +38,20 @@
|
||||
hyprcursor.size = size;
|
||||
};
|
||||
|
||||
# wayland.windowManager.hyprland.settings.exec-once = [
|
||||
# "hyprctl setcursor catppuccin-mocha-mauve-cursors 24"
|
||||
# ];
|
||||
|
||||
catppuccin.enable = true;
|
||||
# Required for QT apps to use the catppuccin colors
|
||||
qt = {
|
||||
enable = true;
|
||||
style.name = "kvantum";
|
||||
};
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
colorScheme = "dark";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,15 +1,19 @@
|
||||
{ inputs, ... }: {
|
||||
flake.modules.nixos.development-tools = { pkgs, ... }: {
|
||||
imports = with inputs.self.modules.nixos; [
|
||||
rust
|
||||
];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
cmake
|
||||
gnumake
|
||||
clang
|
||||
gcc
|
||||
gdb
|
||||
perf
|
||||
python3
|
||||
libqalculate
|
||||
|
||||
man-pages
|
||||
man-pages-posix
|
||||
];
|
||||
documentation.dev.enable = true;
|
||||
|
||||
programs.direnv = {
|
||||
enable = true;
|
||||
@@ -17,5 +21,7 @@
|
||||
silent = true;
|
||||
nix-direnv.enable = true;
|
||||
};
|
||||
|
||||
programs.nix-ld.enable = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
};
|
||||
};
|
||||
|
||||
flake.modules.nixos.rust = { pkgs, ... }: {
|
||||
flake.modules.nixos.rust-dev = { pkgs, ... }: {
|
||||
nixpkgs.overlays = [
|
||||
inputs.rust-overlay.overlays.default
|
||||
];
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
flake.modules.nixos.udev-lauterbach = {
|
||||
services.udev.extraRules = ''
|
||||
ACTION!="remove", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="0897", SYMLINK+="lauterbach/trace32/%k", MODE:="0666"
|
||||
ACTION!="remove", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device",ATTR{idVendor}=="8087", ATTR{idProduct}=="0a6e", MODE:="0666"
|
||||
ACTION!="remove", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device",ATTR{idVendor}=="8087", ATTR{idProduct}=="0a6f", MODE:="0666"
|
||||
ACTION!="remove", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device",ATTR{idVendor}=="8087", ATTR{idProduct}=="0a70", MODE:="0666"
|
||||
ACTION!="remove", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device",ATTR{idVendor}=="8087", ATTR{idProduct}=="0a71", MODE:="0666"
|
||||
ACTION!="remove", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device",ATTR{idVendor}=="8087", ATTR{idProduct}=="0a73", MODE:="0666"
|
||||
ACTION!="remove", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device",ATTR{idVendor}=="8087", ATTR{idProduct}=="0a75", MODE:="0666"
|
||||
ACTION!="remove", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device",ATTR{idVendor}=="8087", ATTR{idProduct}=="0a78", MODE:="0666"
|
||||
'';
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
flake.modules.nixos.udev-pio = { pkgs, ... }: {
|
||||
services.udev.packages = with pkgs; [ platformio-core.udev ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
flake.modules.nixos.udev = {
|
||||
services.udev.enable = true;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
config.flake.factory.docker = users: { lib, ... }: {
|
||||
virtualisation.docker = {
|
||||
enable = true;
|
||||
autoPrune.enable = true;
|
||||
};
|
||||
users.users =
|
||||
lib.genAttrs
|
||||
users
|
||||
(_: {
|
||||
extraGroups = [ "docker" ];
|
||||
});
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
{ inputs, ... }: {
|
||||
flake-file.inputs = {
|
||||
aghpb = {
|
||||
url = "github:cat-milk/Anime-Girls-Holding-Programming-Books";
|
||||
flake = false;
|
||||
};
|
||||
orly-covers = {
|
||||
url = "github:thepracticaldev/orly-full-res";
|
||||
flake = false;
|
||||
};
|
||||
};
|
||||
|
||||
flake.modules.homeManager.randomized-aghpb-wallpaper = { pkgs, ... }:
|
||||
let
|
||||
combined_wallpapers = pkgs.symlinkJoin {
|
||||
name = "joined-wallpapers";
|
||||
paths = with inputs; [
|
||||
aghpb
|
||||
orly-covers
|
||||
];
|
||||
};
|
||||
in
|
||||
{
|
||||
imports = with inputs.self.factory; [
|
||||
(wpaperd {
|
||||
default = {
|
||||
path = combined_wallpapers;
|
||||
recursive = true;
|
||||
mode = "stretch";
|
||||
duration = "5m";
|
||||
};
|
||||
})
|
||||
];
|
||||
|
||||
wayland.windowManager.hyprland.extraConfig = ''
|
||||
hl.bind("SUPER + i", hl.dsp.exec_cmd("${pkgs.unstable.wpaperd}/bin/wpaperctl next"))
|
||||
hl.bind("SUPER + o", hl.dsp.exec_cmd("${pkgs.unstable.wpaperd}/bin/wpaperctl set ${inputs.assets}/horizontal_16x9.png"))
|
||||
'';
|
||||
};
|
||||
}
|
||||
@@ -2,15 +2,4 @@
|
||||
flake.modules.nixos.git = { pkgs, ... }: {
|
||||
environment.systemPackages = [ pkgs.git ];
|
||||
};
|
||||
|
||||
flake.modules.homeManager.git = {
|
||||
programs.git = {
|
||||
enable = true;
|
||||
settings.user = {
|
||||
email = "weckyy702@gmail.com";
|
||||
name = "Weckyy702";
|
||||
};
|
||||
#TODO: signing
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,128 @@
|
||||
-- environment variables
|
||||
hl.env("XCURSOR_SIZE", "24")
|
||||
hl.env("HYPRCURSOR_SIZE", "24")
|
||||
|
||||
-- General config
|
||||
|
||||
hl.config({
|
||||
general = {
|
||||
border_size = 2,
|
||||
gaps_in = 0,
|
||||
gaps_out = 5,
|
||||
layout = "dwindle",
|
||||
allow_tearing = false,
|
||||
resize_on_border = true,
|
||||
},
|
||||
decoration = {
|
||||
shadow = { enabled = false, },
|
||||
blur = { enabled = true, },
|
||||
active_opacity = 0.8,
|
||||
inactive_opacity = 0.8,
|
||||
},
|
||||
animations = {
|
||||
enabled = false,
|
||||
},
|
||||
misc = {
|
||||
disable_hyprland_logo = true;
|
||||
},
|
||||
cursor = {
|
||||
inactive_timeout = 3,
|
||||
},
|
||||
ecosystem = {
|
||||
no_update_news = true,
|
||||
no_donation_nag = true,
|
||||
},
|
||||
})
|
||||
|
||||
local mod = "SUPER"
|
||||
local term = "kitty"
|
||||
local browser = "zen"
|
||||
|
||||
-- Input config
|
||||
|
||||
hl.config({
|
||||
input = {
|
||||
kb_layout = "de",
|
||||
|
||||
follow_mouse = 1,
|
||||
}
|
||||
})
|
||||
|
||||
-- Keybinds
|
||||
|
||||
--- Apps
|
||||
hl.bind(mod .. " + Return", hl.dsp.exec_cmd(term))
|
||||
hl.bind(mod .. " + D", hl.dsp.exec_cmd("rofi -show drun -modes drun,calc"))
|
||||
hl.bind(mod .. " + F2", hl.dsp.exec_cmd(browser))
|
||||
|
||||
--- Window manipulation
|
||||
hl.bind(mod .. " + C", hl.dsp.window.close())
|
||||
hl.bind(mod .. " + f", hl.dsp.window.fullscreen({ mode = 'fullscreen', action = 'toggle'}))
|
||||
hl.bind(mod .. " + SHIFT + Space", hl.dsp.window.float({ action = "toggle" }))
|
||||
hl.bind(mod .. " + H", hl.dsp.focus({ direction = "left" }))
|
||||
hl.bind(mod .. " + L", hl.dsp.focus({ direction = "right" }))
|
||||
hl.bind(mod .. " + K", hl.dsp.focus({ direction = "up" }))
|
||||
hl.bind(mod .. " + J", hl.dsp.focus({ direction = "down" }))
|
||||
hl.bind(mod .. " + SHIFT + H", hl.dsp.window.move({ direction = "left", group_aware = true, }))
|
||||
hl.bind(mod .. " + SHIFT + L", hl.dsp.window.move({ direction = "right", group_aware = true, }))
|
||||
hl.bind(mod .. " + SHIFT + K", hl.dsp.window.move({ direction = "up", group_aware = true, }))
|
||||
hl.bind(mod .. " + SHIFT + J", hl.dsp.window.move({ direction = "down", group_aware = true, }))
|
||||
hl.bind(mod .. " + mouse:272", hl.dsp.window.drag(), { mouse = true })
|
||||
hl.bind(mod .. " + mouse:273", hl.dsp.window.resize(), { mouse = true })
|
||||
|
||||
--- Workspace handling
|
||||
for i = 1, 10 do
|
||||
local key = i % 10 -- 10 maps to key 0
|
||||
hl.bind(mod .. " + " .. key, hl.dsp.focus({ workspace = i}))
|
||||
hl.bind(mod .. " + SHIFT + " .. key, hl.dsp.window.move({ workspace = i }))
|
||||
end
|
||||
|
||||
hl.gesture({
|
||||
fingers = 3,
|
||||
direction = "horizontal",
|
||||
action = "workspace"
|
||||
})
|
||||
|
||||
hl.bind(mod .. " + CTRL + H", hl.dsp.workspace.move({ monitor = "l" }))
|
||||
hl.bind(mod .. " + CTRL + L", hl.dsp.workspace.move({ monitor = "r" }))
|
||||
|
||||
--- Media handling
|
||||
hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"), { locked = true, repeating = true })
|
||||
hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"), { locked = true, repeating = true })
|
||||
hl.bind("XF86AudioMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"), { locked = true, repeating = true })
|
||||
hl.bind("XF86AudioMicMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"), { locked = true, repeating = true })
|
||||
hl.bind("XF86AudioNext", hl.dsp.exec_cmd("playerctl next"), { locked = true })
|
||||
hl.bind("XF86AudioPause", hl.dsp.exec_cmd("playerctl play-pause"), { locked = true })
|
||||
hl.bind("XF86AudioPlay", hl.dsp.exec_cmd("playerctl play-pause"), { locked = true })
|
||||
hl.bind("XF86AudioPrev", hl.dsp.exec_cmd("playerctl previous"), { locked = true })
|
||||
|
||||
-- Window rules
|
||||
|
||||
hl.window_rule({
|
||||
-- Ignore maximize requests from all apps. You'll probably like this.
|
||||
name = "suppress-maximize-events",
|
||||
match = { class = ".*" },
|
||||
|
||||
suppress_event = "maximize",
|
||||
})
|
||||
|
||||
hl.window_rule({
|
||||
-- Fix some dragging issues with XWayland
|
||||
name = "fix-xwayland-drags",
|
||||
match = {
|
||||
class = "^$",
|
||||
title = "^$",
|
||||
xwayland = true,
|
||||
float = true,
|
||||
fullscreen = false,
|
||||
pin = false,
|
||||
},
|
||||
|
||||
no_focus = true,
|
||||
})
|
||||
|
||||
-- Monitor handling
|
||||
|
||||
-- automatically add new monitors and lay them out horizontally
|
||||
hl.monitor({ output = "", mode = "preferred", position = "auto", scale = 1 })
|
||||
|
||||
@@ -1,89 +1,6 @@
|
||||
{
|
||||
flake.modules.homeManager.hyprland = {
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
"$mod" = "SUPER";
|
||||
"$browser" = "zen";
|
||||
"$term" = "kitty";
|
||||
|
||||
general = {
|
||||
border_size = 2;
|
||||
gaps_in = 0;
|
||||
gaps_out = 5;
|
||||
layout = "dwindle";
|
||||
allow_tearing = false;
|
||||
resize_on_border = true;
|
||||
};
|
||||
|
||||
snap = { };
|
||||
|
||||
input = {
|
||||
kb_layout = "de";
|
||||
follow_mouse = 1;
|
||||
};
|
||||
|
||||
exec-once = [
|
||||
"hyprctl setcursor catppuccin-mocha-mauve-cursors 24"
|
||||
];
|
||||
|
||||
bind =
|
||||
[
|
||||
"$mod, Q, exit"
|
||||
"$mod, Return, exec, $term"
|
||||
"$mod, D, exec, rofi -show drun -modes drun,calc"
|
||||
"$mod, F2, exec, $browser"
|
||||
"$mod, c, killactive"
|
||||
"$mod, f, fullscreen"
|
||||
"$mod, h, movefocus, l"
|
||||
"$mod, j, movefocus, d"
|
||||
"$mod, k, movefocus, u"
|
||||
"$mod, l, movefocus, r"
|
||||
"$mod+SHIFT, h, movewindow, l"
|
||||
"$mod+SHIFT, j, movewindow, d"
|
||||
"$mod+SHIFT, k, movewindow, u"
|
||||
"$mod+SHIFT, l, movewindow, r"
|
||||
", Print, exec, grim -g \"$(slurp)\" \"/home/weckyy702/Pictures/screenshots/$(date -Iseconds).png\""
|
||||
"$mod+SHIFT, s, exec, hyprlock"
|
||||
]
|
||||
++
|
||||
# Switch workspaces
|
||||
(map (i: "$mod, ${builtins.toString i}, workspace, ${builtins.toString i}") [ 0 1 2 3 4 5 6 7 8 9 ])
|
||||
++ (map (i: "$mod+SHIFT, ${builtins.toString i}, movetoworkspacesilent, ${builtins.toString i}") [ 0 1 2 3 4 5 6 7 8 9 ]);
|
||||
|
||||
bindm = [
|
||||
"$mod, mouse:272, movewindow"
|
||||
];
|
||||
|
||||
bindel = [
|
||||
", XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+"
|
||||
", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
|
||||
];
|
||||
|
||||
bindl = [
|
||||
", XF86AudioNext, exec, playerctl position 5+"
|
||||
", XF86AudioPrev, exec, playerctl position 5-"
|
||||
", XF86AudioPlay, exec, playerctl play-pause"
|
||||
];
|
||||
|
||||
bindo = [
|
||||
", XF86AudioNext, exec, playerctl next"
|
||||
", XF86AudioPrev, exec, playerctl previous"
|
||||
];
|
||||
|
||||
decoration = {
|
||||
shadow.enabled = false;
|
||||
blur.enabled = true;
|
||||
active_opacity = 0.8;
|
||||
inactive_opacity = 0.8;
|
||||
};
|
||||
|
||||
animations.enabled = false;
|
||||
|
||||
misc.disable_hyprland_logo = true;
|
||||
|
||||
cursor.inactive_timeout = 3;
|
||||
|
||||
ecosystem.no_update_news = true;
|
||||
ecosystem.no_donation_nag = true;
|
||||
};
|
||||
wayland.windowManager.hyprland.configType = "lua";
|
||||
wayland.windowManager.hyprland.extraConfig = builtins.readFile ./config.lua;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
flake.modules.nixos.libreoffice = { pkgs, ... }: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
libreoffice
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
{ ... }: {
|
||||
imports = [
|
||||
./lsp.nix
|
||||
./formatter.nix
|
||||
./telescope
|
||||
./cmp
|
||||
];
|
||||
@@ -20,5 +21,7 @@
|
||||
which-key.enable = true;
|
||||
|
||||
glow.enable = true;
|
||||
|
||||
fugitive.enable = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
plugins.conform-nvim = {
|
||||
enable = true;
|
||||
autoInstall.enable = true;
|
||||
settings = {
|
||||
formatters_by_ft = {
|
||||
cpp = [ "clang_format" ];
|
||||
markdown = [
|
||||
"prettier"
|
||||
];
|
||||
};
|
||||
formatters = { };
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -20,6 +20,9 @@
|
||||
enable = true;
|
||||
};
|
||||
rnix.enable = true;
|
||||
|
||||
basedpyright.enable = true;
|
||||
emmet_ls.enable = true;
|
||||
};
|
||||
|
||||
keymaps = [
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{ inputs, ... }: {
|
||||
flake-file.inputs = {
|
||||
nixvim.url = "github:nix-community/nixvim/nixos-25.11";
|
||||
nixvim.url = "github:nix-community/nixvim/nixos-26.05";
|
||||
nixvim.inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
flake.modules.homeManager.prusa-slicer = { pkgs, ... }: {
|
||||
home.packages = with pkgs; [
|
||||
prusa-slicer
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -8,9 +8,6 @@
|
||||
protontricks = {
|
||||
enable = true;
|
||||
};
|
||||
dedicatedServer.openFirewall = true;
|
||||
localNetworkGameTransfers.openFirewall = true;
|
||||
remotePlay.openFirewall = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
{ inputs, ... }: {
|
||||
flake.modules.homeManager.backlight = { pkgs, ... }:
|
||||
let
|
||||
brightnessctl = "${pkgs.brightnessctl}/bin/brightnessctl";
|
||||
in
|
||||
{
|
||||
flake.modules.nixos.backlight = {
|
||||
programs.light = {
|
||||
enable = true;
|
||||
brightnessKeys.enable = true;
|
||||
};
|
||||
wayland.windowManager.hyprland.extraConfig = ''
|
||||
hl.bind("XF86MonBrightnessUp", hl.dsp.exec_cmd("${brightnessctl} -e4 -n2 set 5%+"), { locked = true, repeating = true })
|
||||
hl.bind("XF86MonBrightnessDown",hl.dsp.exec_cmd("${brightnessctl} -e4 -n2 set 5%-"), { locked = true, repeating = true })
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
{ inputs, ... }: {
|
||||
flake.modules.homeManager.blueman-applet = {
|
||||
services.blueman-applet.enable = true;
|
||||
};
|
||||
}
|
||||
@@ -30,14 +30,10 @@
|
||||
patterns = [
|
||||
#TODO: home.homeDirectory might be usable here
|
||||
#TODO: should be user and machine specific
|
||||
"R /home/${username}/Documents"
|
||||
"R /home/${username}/.ssh"
|
||||
"- /home/${username}/Documents/SteamLibrary"
|
||||
"- /home/${username}/Documents/PrismLauncher instances"
|
||||
"- /home/${username}/Documents/.Trash-1000"
|
||||
"- /home/${username}/Documents/VMs/Data"
|
||||
"R /home/${username}"
|
||||
"+ /home/${username}/.ssh"
|
||||
"- /home/${username}/.*"
|
||||
"- **/node_modules"
|
||||
"- **/.git"
|
||||
"- **/.cache"
|
||||
"- **/*build"
|
||||
"- **/target"
|
||||
@@ -48,6 +44,8 @@
|
||||
"- **/dist"
|
||||
"- **/.pio"
|
||||
];
|
||||
|
||||
extraConfig.exclude_if_present = [ ".borgignore" ];
|
||||
};
|
||||
retention.keepWeekly = 2;
|
||||
storage.extraConfig.ssh_command = "ssh -i /home/${username}/.ssh/id_ed25519_borg";
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
flake.modules.homeManager.flameshot = {
|
||||
services.flameshot = {
|
||||
enable = true;
|
||||
settings = {
|
||||
General = {
|
||||
useGrimAdapter = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
+2
-2
@@ -1,12 +1,12 @@
|
||||
{ inputs, ... }: {
|
||||
flake.modules.nixos.tux = { config, ... }: {
|
||||
flake.modules.nixos.mount-duke-smb = { config, ... }: {
|
||||
age.secrets."nas-creds".file = "${inputs.secrets}/nas-creds.age";
|
||||
|
||||
imports = with inputs.self.factory; [
|
||||
(mount-cifs {
|
||||
host = "duke.veltnet";
|
||||
resource = "smb-share";
|
||||
destination = "/home/weckyy702/duke";
|
||||
destination = "/mnt/duke";
|
||||
credentials_path = "${config.age.secrets.nas-creds.path}";
|
||||
UID = "weckyy702";
|
||||
GID = "users";
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
config.flake.factory.nut-client = config: {
|
||||
power.ups = {
|
||||
enable = true;
|
||||
mode = "netclient";
|
||||
upsmon = {
|
||||
enable = true;
|
||||
monitor = config;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,8 +1,13 @@
|
||||
{
|
||||
flake.modules.nixos.pipewire = {
|
||||
# See https://nixos.wiki/wiki/NixOS_Wiki:Audio
|
||||
hardware.alsa.enable = false;
|
||||
services.pulseaudio.enable = false;
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
alsa.enable = true;
|
||||
enable = true;
|
||||
audio.enable = true;
|
||||
alsa.enable = true;
|
||||
wireplumber.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
{
|
||||
config.flake.factory.sunshine = user: {
|
||||
services.sunshine = {
|
||||
enable = true;
|
||||
autoStart = true;
|
||||
capSysAdmin = true;
|
||||
applications = {
|
||||
apps = [
|
||||
{
|
||||
name = "Steam Big Picture";
|
||||
detached = [
|
||||
"sudo -u ${user} setsid steam steam://open/bigpicture"
|
||||
];
|
||||
prep-cmd = [
|
||||
{
|
||||
do = "";
|
||||
undo = "sudo -u ${user} setsid steam steam://close/bigpicture";
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -2,6 +2,8 @@
|
||||
flake.modules.nixos.tailscale = {
|
||||
services.tailscale = {
|
||||
enable = true;
|
||||
# required for using exit nodes
|
||||
useRoutingFeatures = "client";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
flake.modules.nixos.bluetooth = {
|
||||
hardware.bluetooth = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
services.blueman.enable = true;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{ self, ... }: {
|
||||
flake.modules.nixos.home-vpn = {
|
||||
imports = with self.modules.nixos; [
|
||||
tailscale
|
||||
resolved
|
||||
];
|
||||
|
||||
services.resolved.settings = {
|
||||
Resolve = {
|
||||
DNS = "10.10.0.1";
|
||||
Domains = "~veltnet";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -8,4 +8,8 @@
|
||||
fontDir.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
flake.modules.homeManager.nerdfonts = {
|
||||
gtk.font.name = "JetBrainsMono";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
flake.modules.nixos.opentablet = {
|
||||
hardware.opentabletdriver = {
|
||||
enable = true;
|
||||
daemon.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
flake.modules.nixos.powermanagement = {
|
||||
services.auto-cpufreq.enable = true;
|
||||
services.auto-cpufreq.settings = {
|
||||
battery = {
|
||||
governor = "powersave";
|
||||
turbo = "never";
|
||||
energy_perf_bias = "power";
|
||||
energy_performance_preference = "power";
|
||||
platform_profile = "power";
|
||||
};
|
||||
charger = {
|
||||
governor = "performance";
|
||||
turbo = "auto";
|
||||
energy_perf_bias = "performance";
|
||||
energy_performance_preference = "performance";
|
||||
platform_profile = "performance";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
flake.modules.nixos.resolved = {
|
||||
services.resolved.enable = true;
|
||||
|
||||
networking.networkmanager.dns = "systemd-resolved";
|
||||
};
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{ inputs, ... }: {
|
||||
flake-file.inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05";
|
||||
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
};
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
imports = with inputs.self.modules.nixos; [
|
||||
system-base
|
||||
hyprland
|
||||
pipewire
|
||||
|
||||
#TODO: moar aspects
|
||||
];
|
||||
@@ -23,6 +24,7 @@
|
||||
multimedia
|
||||
zsh
|
||||
thunderbird
|
||||
flameshot
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
flake.modules.homeManager.weckyy702-git = {
|
||||
programs.git = {
|
||||
enable = true;
|
||||
settings = {
|
||||
user = {
|
||||
email = "konstantin@veltko.de";
|
||||
name = "Weckyy702";
|
||||
};
|
||||
init.defaultBranch = "main";
|
||||
};
|
||||
signing = {
|
||||
# NOTE: The signing key needs to be set per machine, see hosts/<name>/users/weckyy702/git.nix
|
||||
format = "ssh";
|
||||
signByDefault = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -21,6 +21,8 @@
|
||||
imports = with self.modules.homeManager; [
|
||||
nixvim
|
||||
btop
|
||||
|
||||
weckyy702-git
|
||||
#TODO: moar aspects
|
||||
];
|
||||
};
|
||||
|
||||
+10
-10
@@ -1,12 +1,12 @@
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IFNjTWNPZyB6Mzk1
|
||||
MWl5cW5uNkc0WTFUTEF1TGFOS0J3a1YyRzJieTlDOGVPbm84WVVNCjJUNlp5K3Ny
|
||||
YUhMdWp2Zk5tNGp1TkxKcnNST2h1N0VrVnNiaUZzV21QUFUKLT4gc3NoLWVkMjU1
|
||||
MTkgZkJwNFR3IDR5UFhoTkNOUlJyVmovMUQzTExGK2Y2bFZPMW9ZZFdQTFliUFVj
|
||||
WDRPM2cKSjFQVWhVZXFMY0ZzdDEraXdkeW1BVkRtemFQdHYzeUI4ZjhrNFdsdmo1
|
||||
WQotPiBzc2gtZWQyNTUxOSBZazBxSWcgOUJxQkMzYzFrYWhVOTVFTnNvVmI1WDBn
|
||||
U2ZCVDU0WTliQzRxTVZKdCtCdwpYbUlJVmNHaHpuY0dJMldJSEFkbmpkZTlmTkI1
|
||||
Y3lhQWRBaWdNOGpvcHdzCi0tLSA0dm04SEovSnZ5dW9MaTdxV1NSUGxnZ3orTzNy
|
||||
WUt6eUt6TFAyTGFhdWFVCs0loU4KFs/vYaJX4d31Gf1y8Fv/jWEIALZ4KIqbEPPf
|
||||
3C1Ljr2Mbfz231S/zxjfjK2vhHNtYdBtPOsEtpvThCZSTzuJ/WUzox5XUfL7
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IFNjTWNPZyBDZVNV
|
||||
dEhaL21OOUpVeEIyVHY0RHUySldpMkxEMjNrbk5nbWlNRUZrblRvCmEyTnRlNC8r
|
||||
cldvZGEwS1QvSzdWdGdNSHUrR1N5M1lJcXBpcHZ2RDVMc0UKLT4gc3NoLWVkMjU1
|
||||
MTkgZkJwNFR3IERiWDkrMEk5MU1vSHB4MmpFbjRMSDhiY3EwVXlrejBHT0h2N2pm
|
||||
N0I3MGsKd3RFQ01ObktrNkV5Z1ZsMVFzakVmUXJEczIyV2FVbldCQThCVERQMzJO
|
||||
VQotPiBzc2gtZWQyNTUxOSBZazBxSWcgNjBhL2RldVQ2SWhjL0R2c09jUUY4d01j
|
||||
RjFjamExWlEvOHlaVUhhQlhURQplRzgxY1pxblZnOXNkZVVEUHN0MVlsRFlQK1hW
|
||||
WWVWQ1NwSHM1eUFtRHBvCi0tLSBnL0tvY3JBR3JVaGZVT2NZU2F4SnJlLzE5VUFw
|
||||
QU4zM2lsNnRKQkE2blBVCqVEBU+W7CRtMD5OPPvioRttzBk1ZAJSgSiZkJPdVli9
|
||||
Phhr6ZWAr3crBp3Pbn3emLmh+79XdOeAjXI5NhKA2/qW1eSpfClr2rIwu3HX
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
|
||||
@@ -11,4 +11,9 @@ in
|
||||
publicKeys = systems ++ users;
|
||||
armor = true;
|
||||
};
|
||||
|
||||
"upsmon.age" = {
|
||||
publicKeys = systems ++ users;
|
||||
armor = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IFNjTWNPZyBUZWty
|
||||
ZGZiS2V4b1l4d3RIck9OZUlkZnpYelUyc2Y0L3FOMzNBZ0thU1VBCjFWdC9JV0M2
|
||||
YnJ6UTNRUTdPV3pYMkdJa2pRdHVYZDlJRmVmb0liTGpFSlkKLT4gc3NoLWVkMjU1
|
||||
MTkgZkJwNFR3IFFvMEhYTGlLVlg5eU5jZEh4TC93ZU9NeFJ2WXlaVVIwL096cktR
|
||||
V3hIeVEKK0RMczZFeFJRS0g0TWFGcG1Ic21oMzgvc0Z2NjZOSVgxc3RtVVhNcXdr
|
||||
OAotPiBzc2gtZWQyNTUxOSBZazBxSWcgMXJUdGFFT2hWcWpIR1BMbkw4ZEpRcGJN
|
||||
M1hETXlCVnhXeGhzR2UzdEVtdwpWdzc1aG9ZN0x5MEx6TEVLckwrakYyci9lVHJZ
|
||||
V2IzQUtGcjRqUVBiRG9BCi0tLSB0dHJHRGE0b0IvQXk5ci83Sm5HQzRiY2hJV25N
|
||||
MG9QazU1M0JBeUo2eWdZCvvJHo4I0ry33lbaUTowOjS3gZHoBw9v3OWNrA4QHG9M
|
||||
/TRPcPZ1pjX9m9+seg==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
Reference in New Issue
Block a user