Compare commits

..
45 Commits
Author SHA1 Message Date
Weckyy702 46e85e815d Flake: Update dependencies 2026-06-20 04:14:30 +02:00
Weckyy702 3fa5ef2441 wpaperd+tux: Implement wallpaper switching by keybind
required using the unstable version of wpaperd
2026-06-20 04:13:28 +02:00
Weckyy702 7fb5a0515a Tux: Rename submodules to more closely adhere to the dendritic pattern 2026-06-18 16:20:51 +02:00
Weckyy702 1cf44c97cc Docker: Simplify docker module by making usernames adjustable 2026-06-18 16:20:07 +02:00
Weckyy702 7fc9d10092 Filesystems: Unify local NAS mounting for all hosts 2026-06-18 16:04:42 +02:00
Weckyy702 61f4e15fb2 Merge branch 'upgrade-26.05' 2026-06-18 13:51:40 +02:00
Weckyy702 24146bede1 Upgrade to NixOS 26.05
Had to redo hyprland config since they use lua in the newest versions
2026-06-18 13:50:32 +02:00
Weckyy702 8181d81ca4 Git: Add default username and branch name 2026-06-17 20:46:04 +02:00
Weckyy702 64283c6373 Tux: Add PrusaSlicer 2026-06-02 11:40:10 +02:00
Weckyy702 abbadf42ec Mount duke to /mnt to avoid funky borgmatic things and other silliness 2026-05-31 23:04:21 +02:00
Weckyy702 007f448fe8 Add nut and upsmon 2026-05-31 23:04:21 +02:00
Weckyy702 f3724fee3a Modules/Backlight: Swap out 'light' for brightnessctl 2026-05-30 19:51:08 +02:00
Weckyy702 375fd4d842 Tux: Add powermanagement for laptops using auto-cpufreq 2026-05-26 22:59:38 +02:00
Weckyy702 59ae67fcdb modules: Add AppImage support 2026-05-20 00:06:31 +02:00
Weckyy702 ea7a0cf4b3 Update flake inputs 2026-05-06 23:23:13 +02:00
Weckyy702 dbc68e540f nixvim: Enable fugitive and emmet_ls
I was missing out on fugitive :^)
2026-05-06 23:14:46 +02:00
Weckyy702 c1eff7e53b Tailscale: Enable client routing features to enable exit nodes 2026-05-06 23:14:02 +02:00
Weckyy702 1f0dd9f149 Devtools/udev: Add udev rules for Lauterbach debuggers 2026-05-06 23:13:30 +02:00
Weckyy702 170a8abba2 Devtools: Reorganize submodules to be more ... modular 2026-05-06 23:12:58 +02:00
Weckyy702 c6f03484a6 tux/weckyy702: Add orly book covers to randomized background list 2026-04-18 03:32:09 +02:00
Weckyy702 3c3e253d35 Update flake inputs 2026-04-18 03:00:17 +02:00
Weckyy702 25e647190b devtools: Move rust feature to devtools 2026-04-10 14:53:19 +02:00
Weckyy702 c942a482c2 Zen: Enable recently used tab switch order 2026-04-10 14:48:17 +02:00
Weckyy702 a802c85678 Docker+Tux: Add docker support 2026-04-10 14:47:38 +02:00
Weckyy702 fc58b0ad29 HomeVPN: Add feature to automatically enable tailscale and set custom DNS nameserver 2026-04-03 11:34:29 +02:00
Weckyy702 5d4e3982ee Browser: Refine default zen config 2026-04-03 02:08:36 +02:00
Weckyy702 cbedc31575 Tux: Update configuration for tux's new setup 2026-04-03 01:10:08 +02:00
Weckyy702 f6585da4b7 borgmatic: Rework borgmatic config to be a little less silly
Instead of globally excluding by pattern, exclude directories that
contain a .borgignore file

This makes the borg config more scalable across different setups
2026-04-02 13:48:08 +02:00
Weckyy702 64336e8f9f Devtools: Add platformio udev rules 2026-04-02 13:48:08 +02:00
Weckyy702 efbb990fab Nixvim: Enable formatters using conform.nvim 2026-04-02 13:48:08 +02:00
Weckyy702 0f105b5324 Tux: Remount NAS outside $HOME 2026-04-02 13:48:08 +02:00
Weckyy702 eb0c48b1e7 programs: Add prusa-slicer 2026-03-19 21:44:00 +01:00
Weckyy702 e22144dcc0 brightnessKey: Set step size to 5 2026-03-19 21:42:32 +01:00
Weckyy702 09e90babd9 steam: disable firewall holes 2026-03-19 21:42:13 +01:00
Weckyy702 1d14750a1f programs/development-tools: Add nix-ld and man pages 2026-03-19 21:41:52 +01:00
Weckyy702 300a594250 drivers: Add opentablet 2026-03-19 21:41:20 +01:00
Weckyy702 dcda6ea9b8 services: Add flameshot 2026-03-19 21:36:25 +01:00
Weckyy702 c3981e6316 programs: Add libreoffice 2026-03-19 21:35:52 +01:00
Weckyy702 cb37b19941 hosts/tux: Add blueman and blueman-applet 2026-03-19 21:34:28 +01:00
Weckyy702 e54fc963f6 system-settings: Add bluetooth support 2026-03-18 00:09:24 +01:00
Weckyy702 94cad97ba9 home/catppuccin+nixos/nerdfonts: enable gtk-related stuff 2026-03-17 00:33:00 +01:00
Weckyy702 59b1f8b632 home/catppuccin: Move catppuccin-cursors code to its friends 2026-03-17 00:32:19 +01:00
Weckyy702 de7db470ae hosts/keith: Correct resource path for local smb share 2026-03-17 00:31:29 +01:00
Weckyy702 336c395b56 hosts/tux: Move AGHPB-related flake import to where it belongs 2026-03-17 00:30:33 +01:00
Weckyy702 dbed42316a hosts/keith+home/hyprpaper: Remove home/hyprpaper
wpaperd is just cooler :(
2026-03-17 00:29:40 +01:00
56 changed files with 659 additions and 376 deletions
Generated
+55 -123
View File
@@ -60,16 +60,16 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1768256610, "lastModified": 1780143400,
"narHash": "sha256-IyL6nZo242nDLoLQVwkqAZXp8FO5kBfjL6Fuh+gZO10=", "narHash": "sha256-jN9RJ4OeuLdCxZ1G0d4zqy0HuHnqODxxgN6pQoYfAH8=",
"owner": "catppuccin", "owner": "catppuccin",
"repo": "nix", "repo": "nix",
"rev": "0734ad8c91342df34f1a1e5c183d053d70ba87c7", "rev": "096f4670cf078d810a931fae59b57db4cc3fb4d3",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "catppuccin", "owner": "catppuccin",
"ref": "release-25.11", "ref": "release-26.05",
"repo": "nix", "repo": "nix",
"type": "github" "type": "github"
} }
@@ -98,11 +98,11 @@
}, },
"flake-file": { "flake-file": {
"locked": { "locked": {
"lastModified": 1773224147, "lastModified": 1781217157,
"narHash": "sha256-w9RQyKZSTfqoZPRzIf7H4qVHy2N6uFk1MUU+c1K4c40=", "narHash": "sha256-N3q/SP2Ropk336e9KSgLh7kpROY6P70dprYdbPIfd5c=",
"owner": "vic", "owner": "vic",
"repo": "flake-file", "repo": "flake-file",
"rev": "97bd69ff570dddccd704077830446ec1ca3a6988", "rev": "ce63eaf7ebfe04a176653f66385a7f0a36380cee",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -116,11 +116,11 @@
"nixpkgs-lib": "nixpkgs-lib" "nixpkgs-lib": "nixpkgs-lib"
}, },
"locked": { "locked": {
"lastModified": 1772408722, "lastModified": 1778716662,
"narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=", "narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3", "rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -137,11 +137,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1768135262, "lastModified": 1778716662,
"narHash": "sha256-PVvu7OqHBGWN16zSi6tEmPwwHQ4rLPU9Plvs8/1TUBY=", "narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "80daad04eddbbf5a4d883996a73f3f542fa437ac", "rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -150,24 +150,6 @@
"type": "github" "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": { "home-manager": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -175,27 +157,27 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1773264488, "lastModified": 1781319724,
"narHash": "sha256-rK0507bDuWBrZo+0zts9bCs/+RRUEHuvFE5DHWPxX/Q=", "narHash": "sha256-ZGuxexEMo4Xv28KJ0dX/m/PHN4oZIOnxHZpNTyrvx4M=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "5c0f63f8d55040a7eed69df7e3fcdd15dfb5a04c", "rev": "8355f0a16b2dbb06a97959a918af5b239bbe05ae",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"ref": "release-25.11", "ref": "release-26.05",
"repo": "home-manager", "repo": "home-manager",
"type": "github" "type": "github"
} }
}, },
"import-tree": { "import-tree": {
"locked": { "locked": {
"lastModified": 1772999353, "lastModified": 1778781969,
"narHash": "sha256-dPb0WxUhFaz6wuR3B6ysqFJpsu8txKDPZvS47AT2XLI=", "narHash": "sha256-Jjuz5CmSkur8KvLDoGa+vylEp+RkQtv4mt/qcMznpH0=",
"owner": "vic", "owner": "vic",
"repo": "import-tree", "repo": "import-tree",
"rev": "545a4df146fce44d155573e47f5a777985acf912", "rev": "d321337efd0f23a9eb14a42adb7b2c29313ab274",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -204,57 +186,29 @@
"type": "github" "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": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1773375660, "lastModified": 1781216227,
"narHash": "sha256-SEzUWw2Rf5Ki3bcM26nSKgbeoqi2uYy8IHVBqOKjX3w=", "narHash": "sha256-9mUW6gNwoN2SWc/l0fW4svPNOulXLl8ijqKyeSOGgJE=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "3e20095fe3c6cbb1ddcef89b26969a69a1570776", "rev": "a0374025a863d007d98e3297f6aa46cc3141c2f0",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "nixos",
"ref": "nixos-25.11", "ref": "nixos-26.05",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs-lib": { "nixpkgs-lib": {
"locked": { "locked": {
"lastModified": 1772328832, "lastModified": 1777168982,
"narHash": "sha256-e+/T/pmEkLP6BHhYjx6GmwP5ivonQQn0bJdH9YrRB+Q=", "narHash": "sha256-GOkGPcboWE9BmGCRMLX3worL4EMnsnG8MyKmXNeYuhQ=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixpkgs.lib", "repo": "nixpkgs.lib",
"rev": "c185c7a5e5dd8f9add5b2f8ebeff00888b070742", "rev": "f5901329dade4a6ea039af1433fb087bd9c1fe14",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -265,11 +219,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1773282481, "lastModified": 1781577229,
"narHash": "sha256-b/GV2ysM8mKHhinse2wz+uP37epUrSE+sAKXy/xvBY4=", "narHash": "sha256-lrp67w8AulE9Ks53n27I45ADSzbOCn4H+CNW1Ck8B+8=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "fe416aaedd397cacb33a610b33d60ff2b431b127", "rev": "567a49d1913ce81ac6e9582e3553dd90a955875f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -285,44 +239,36 @@
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"nuschtosSearch": "nuschtosSearch", "systems": "systems_2"
"systems": "systems_3"
}, },
"locked": { "locked": {
"lastModified": 1769049374, "lastModified": 1781915791,
"narHash": "sha256-h0Os2qqNyycDY1FyZgtbn28VF1ySP74/n0f+LDd8j+w=", "narHash": "sha256-LT1typkmETNVtWQncEByIR64ycmzZqxqtzZ5I9QkyTY=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixvim", "repo": "nixvim",
"rev": "b8f76bf5751835647538ef8784e4e6ee8deb8f95", "rev": "62019d53fd44f9fe20e3e20c891fbca567f3d331",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"ref": "nixos-25.11", "ref": "nixos-26.05",
"repo": "nixvim", "repo": "nixvim",
"type": "github" "type": "github"
} }
}, },
"nuschtosSearch": { "orly-covers": {
"inputs": { "flake": false,
"flake-utils": "flake-utils",
"ixx": "ixx",
"nixpkgs": [
"nixvim",
"nixpkgs"
]
},
"locked": { "locked": {
"lastModified": 1768249818, "lastModified": 1482210547,
"narHash": "sha256-ANfn5OqIxq3HONPIXZ6zuI5sLzX1sS+2qcf/Pa0kQEc=", "narHash": "sha256-3uU/RbOCZQS8kFu74zHpsHilQoaz9Jhv3vluI9axVPk=",
"owner": "NuschtOS", "owner": "thepracticaldev",
"repo": "search", "repo": "orly-full-res",
"rev": "b6f77b88e9009bfde28e2130e218e5123dc66796", "rev": "15c2b8dc906a7027391c11f559249c57e1a0a056",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NuschtOS", "owner": "thepracticaldev",
"repo": "search", "repo": "orly-full-res",
"type": "github" "type": "github"
} }
}, },
@@ -339,6 +285,7 @@
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nixpkgs-unstable": "nixpkgs-unstable", "nixpkgs-unstable": "nixpkgs-unstable",
"nixvim": "nixvim", "nixvim": "nixvim",
"orly-covers": "orly-covers",
"rust-overlay": "rust-overlay", "rust-overlay": "rust-overlay",
"secrets": "secrets", "secrets": "secrets",
"spicetify-nix": "spicetify-nix", "spicetify-nix": "spicetify-nix",
@@ -352,11 +299,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1773457417, "lastModified": 1781850613,
"narHash": "sha256-waABTSxPdbxml4BhcabHhyQF02Qnj27qRU4ard0mTQo=", "narHash": "sha256-UL/f++6fbg1MSC63NSynUVsww+DSay0N5TsbFzLZIsQ=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "055977c30249484010750e03074c744dcdaa0d23", "rev": "4baecb43a008cd004e5220a777e1724bd8d43e43",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -382,14 +329,14 @@
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"systems": "systems_4" "systems": "systems_3"
}, },
"locked": { "locked": {
"lastModified": 1773161309, "lastModified": 1781425310,
"narHash": "sha256-k2Un0blYBeoN8mB5HO4rqCKISb427IWy0fzCdCUIcio=", "narHash": "sha256-GTBka4Df/ZOacmisI/DI2LICyNChEqn/giah83LucdM=",
"owner": "Gerg-L", "owner": "Gerg-L",
"repo": "spicetify-nix", "repo": "spicetify-nix",
"rev": "61df7293cf732c7b66cce7f8b46f7017e721a6cd", "rev": "aeaf7c81a45d3761da61cb05bfc370ac6d1b0441",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -443,21 +390,6 @@
"type": "github" "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": { "zen-browser": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -465,11 +397,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1773290160, "lastModified": 1781847955,
"narHash": "sha256-u09eF4Oafi+OIbTtKe/EWil26q1glcTATiSA7dF1oCI=", "narHash": "sha256-1OSYOGuJp/NoODmSHjsz+6TB/kSilJ+BsFihjY7TTnc=",
"owner": "youwen5", "owner": "youwen5",
"repo": "zen-browser-flake", "repo": "zen-browser-flake",
"rev": "c7cb51b30960757ed9fb8eb28567b32585d0a688", "rev": "4bca251cd556677f7b765ff324d1638ae215be13",
"type": "github" "type": "github"
}, },
"original": { "original": {
+8 -4
View File
@@ -20,22 +20,26 @@
flake = false; flake = false;
}; };
catppuccin = { catppuccin = {
url = "github:catppuccin/nix/release-25.11"; url = "github:catppuccin/nix/release-26.05";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
flake-file.url = "github:vic/flake-file"; flake-file.url = "github:vic/flake-file";
flake-parts.url = "github:hercules-ci/flake-parts"; flake-parts.url = "github:hercules-ci/flake-parts";
home-manager = { home-manager = {
url = "github:nix-community/home-manager/release-25.11"; url = "github:nix-community/home-manager/release-26.05";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
import-tree.url = "github:vic/import-tree"; 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"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
nixvim = { nixvim = {
url = "github:nix-community/nixvim/nixos-25.11"; url = "github:nix-community/nixvim/nixos-26.05";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
orly-covers = {
url = "github:thepracticaldev/orly-full-res";
flake = false;
};
rust-overlay = { rust-overlay = {
url = "github:oxalica/rust-overlay"; url = "github:oxalica/rust-overlay";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
+1 -1
View File
@@ -15,7 +15,7 @@
programs.zsh.profileExtra = '' programs.zsh.profileExtra = ''
if [ -z "$WAYLAND_DISPLAY" ] && [ "$XDG_VTNR" = 1 ]; then if [ -z "$WAYLAND_DISPLAY" ] && [ "$XDG_VTNR" = 1 ]; then
exec hyprland exec start-hyprland
fi fi
''; '';
}; };
-22
View File
@@ -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;
};
};
};
}
+2 -1
View File
@@ -1,8 +1,9 @@
{ {
config.flake.factory.wpaperd = config: { config.flake.factory.wpaperd = config: { pkgs, ... }: {
services.wpaperd = { services.wpaperd = {
enable = true; enable = true;
settings = config; settings = config;
package = pkgs.unstable.wpaperd;
}; };
}; };
} }
+1
View File
@@ -7,6 +7,7 @@
(grub-boot "/dev/nvme0n1") (grub-boot "/dev/nvme0n1")
development-tools development-tools
i18n-de i18n-de
mount-duke-smb
#TODO: moar aspects #TODO: moar aspects
]; ];
+19
View File
@@ -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";
};
})
];
};
}
@@ -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,24 @@
imports = with inputs.self.modules.nixos; [ imports = with inputs.self.modules.nixos; [
weckyy702 weckyy702
steam steam
mullvad
]; ];
home-manager.users.weckyy702 = { config, ... }: { home-manager.users.weckyy702 = { config, ... }: {
imports = with inputs.self.modules.homeManager; imports = with inputs.self.modules.homeManager;
with inputs.self.factory; [ with inputs.self.factory; [
(hyprpaper { (wpaperd {
wallpaper_path = "${inputs.assets}/horizontal_16x9.png"; default = {
monitor_names = [ path = "${inputs.assets}/horizontal_16x9.png";
"DP-1" };
"HDMI-A-1"
];
}) })
vesktop vesktop
spicetify spicetify
borgmatic borgmatic
qbittorrent qbittorrent
prusa-slicer
]; ];
}; };
}; };
+15
View File
@@ -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" ])
];
};
}
+14 -16
View File
@@ -1,20 +1,18 @@
{ {
flake.modules.nixos.tux = { flake.modules.nixos.tux-filesystems = {
fileSystems."/" = fileSystems."/" = {
{ device = "/dev/disk/by-uuid/39bb2139-7d71-4f3d-9c11-2cf3fe26ad7d"; device = "/dev/mapper/luks-9d836ef1-a7f9-430f-8fb8-f202f6336e5a";
fsType = "ext4"; fsType = "ext4";
}; };
fileSystems."/boot" = fileSystems."/boot" = {
{ device = "/dev/disk/by-uuid/6514-61C0"; device = "/dev/disk/by-uuid/15FA-55CF";
fsType = "vfat"; fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ]; options = [ "fmask=0077" "dmask=0077" ];
}; };
swapDevices = swapDevices = [
[ { device = "/dev/disk/by-uuid/ac1606de-34d3-4036-baf6-2ed17e54bfc3"; } { device = "/dev/mapper/luks-46e78828-ab23-48b8-8e2a-de7a21adbe24"; }
]; ];
};
};
} }
+12 -11
View File
@@ -1,15 +1,16 @@
{inputs, ...}: { { inputs, ... }: {
flake.modules.nixos.tux = { flake.modules.nixos.tux-hardware = {
imports = with inputs.self.modules.nixos; [ imports = with inputs.self.modules.nixos; [
intel-gpu intel-gpu
]; ];
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "sdhci_pci" ]; 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"; nixpkgs.hostPlatform = "x86_64-linux";
hardware.enableRedistributableFirmware = true; hardware.enableRedistributableFirmware = true;
hardware.cpu.intel.updateMicrocode = true; hardware.cpu.intel.updateMicrocode = true;
};
};
} }
+7 -7
View File
@@ -1,8 +1,8 @@
{inputs, ...}: { { inputs, ... }: {
flake.modules.nixos.tux = { flake.modules.nixos.tux-networking = {
imports = with inputs.self.modules.nixos; [ imports = with inputs.self.modules.nixos; [
networkmanager networkmanager
]; ];
networking.hostName = "tux"; networking.hostName = "tux";
}; };
} }
+13 -6
View File
@@ -4,14 +4,21 @@
with inputs.self.factory; [ with inputs.self.factory; [
system-desktop system-desktop
systemd-boot 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") (autologin "weckyy702")
development-tools
i18n-de
tailscale
#TODO: laptop specific aspects like powertop
]; ];
}; };
} }
@@ -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 @@
{ inputs, ... }: {
flake.modules.homeManager.blueman-applet = {
services.blueman-applet.enable = true;
};
}
+8 -12
View File
@@ -1,19 +1,15 @@
{ inputs, ... }: { { inputs, ... }: {
flake-file.inputs = {
aghpb = {
url = "github:cat-milk/Anime-Girls-Holding-Programming-Books";
flake = false;
};
};
flake.modules.homeManager.tux-hyprland = { flake.modules.homeManager.tux-hyprland = {
imports = with inputs.self.modules.homeManager; [ imports = with inputs.self.modules.homeManager; [
ashell ashell
]; ];
wayland.windowManager.hyprland.settings = { wayland.windowManager.hyprland.extraConfig = ''
monitor = [ hl.monitor({
"eDP-1,preferred,0x0,1.066666667" output = "eDP-1",
]; mode = "preferred",
}; position = "0x0",
scale = 1.066666667,
})
'';
}; };
} }
+37 -11
View File
@@ -1,14 +1,40 @@
{ inputs, ... }: { { inputs, ... }: {
flake.modules.homeManager.randomized-aghpb-wallpaper = { flake-file.inputs = {
imports = with inputs.self.factory; [ aghpb = {
(wpaperd { url = "github:cat-milk/Anime-Girls-Holding-Programming-Books";
default = { flake = false;
path = inputs.aghpb; };
recursive = true; orly-covers = {
mode = "stretch"; url = "github:thepracticaldev/orly-full-res";
duration = "5m"; 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"))
'';
};
} }
@@ -1,8 +1,9 @@
{ inputs, ... }: { { inputs, ... }: {
flake.modules.nixos.tux = { flake.modules.nixos.tux-weckyy702 = {
imports = with inputs.self.modules.nixos; [ imports = with inputs.self.modules.nixos; [
weckyy702 weckyy702
upower upower
libreoffice
]; ];
home-manager.users.weckyy702 = { home-manager.users.weckyy702 = {
@@ -14,6 +15,9 @@
tux-hyprland tux-hyprland
randomized-aghpb-wallpaper randomized-aghpb-wallpaper
nm-applet nm-applet
blueman-applet
prusa-slicer
backlight
]; ];
}; };
}; };
+1 -1
View File
@@ -4,7 +4,7 @@
}: { }: {
# Add home-manager input # Add home-manager input
flake-file.inputs = { 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"; home-manager.inputs.nixpkgs.follows = "nixpkgs";
}; };
+8
View File
@@ -0,0 +1,8 @@
{
flake.modules.nixos.appimage = { pkgs, ...}: {
programs.appimage = {
enable = true;
binfmt = true;
};
};
}
+80 -5
View File
@@ -6,9 +6,84 @@
}; };
}; };
flake.modules.homeManager.browser = { pkgs, ... }: { flake.modules.homeManager.browser =
home.packages = [ { pkgs
inputs.zen-browser.packages.${pkgs.stdenv.hostPlatform.system}.default , 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 = [
(
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";
}
];
};
};
}
)
];
};
} }
+10 -1
View File
@@ -1,6 +1,6 @@
{ inputs, ... }: { { inputs, ... }: {
flake-file.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"; catppuccin.inputs.nixpkgs.follows = "nixpkgs";
}; };
@@ -38,11 +38,20 @@
hyprcursor.size = size; hyprcursor.size = size;
}; };
# wayland.windowManager.hyprland.settings.exec-once = [
# "hyprctl setcursor catppuccin-mocha-mauve-cursors 24"
# ];
catppuccin.enable = true; catppuccin.enable = true;
# Required for QT apps to use the catppuccin colors # Required for QT apps to use the catppuccin colors
qt = { qt = {
enable = true; enable = true;
style.name = "kvantum"; style.name = "kvantum";
}; };
gtk = {
enable = true;
colorScheme = "dark";
};
}; };
} }
@@ -1,15 +1,15 @@
{ inputs, ... }: { { inputs, ... }: {
flake.modules.nixos.development-tools = { pkgs, ... }: { flake.modules.nixos.development-tools = { pkgs, ... }: {
imports = with inputs.self.modules.nixos; [
rust
];
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
cmake cmake
gnumake gnumake
clang clang
gcc gcc
man-pages
man-pages-posix
]; ];
documentation.dev.enable = true;
programs.direnv = { programs.direnv = {
enable = true; enable = true;
@@ -17,5 +17,7 @@
silent = true; silent = true;
nix-direnv.enable = true; nix-direnv.enable = true;
}; };
programs.nix-ld.enable = true;
}; };
} }
+1 -1
View File
@@ -6,7 +6,7 @@
}; };
}; };
flake.modules.nixos.rust = { pkgs, ... }: { flake.modules.nixos.rust-dev = { pkgs, ... }: {
nixpkgs.overlays = [ nixpkgs.overlays = [
inputs.rust-overlay.overlays.default 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;
};
}
+14
View File
@@ -0,0 +1,14 @@
{
config.flake.factory.docker = users: { lib, ... }: {
virtualisation.docker = {
enable = true;
autoPrune.enable = true;
};
users.users =
lib.genAttrs
users
(_: {
extraGroups = [ "docker" ];
});
};
}
+10 -4
View File
@@ -6,11 +6,17 @@
flake.modules.homeManager.git = { flake.modules.homeManager.git = {
programs.git = { programs.git = {
enable = true; enable = true;
settings.user = { settings = {
email = "weckyy702@gmail.com"; user = {
name = "Weckyy702"; email = "konstantin@veltko.de";
name = "Weckyy702";
};
init.defaultBranch = "main";
};
signing = {
format = "ssh";
signByDefault = true;
}; };
#TODO: signing
}; };
}; };
} }
+121
View File
@@ -0,0 +1,121 @@
-- 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 .. " + 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"
})
--- 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 })
+2 -85
View File
@@ -1,89 +1,6 @@
{ {
flake.modules.homeManager.hyprland = { flake.modules.homeManager.hyprland = {
wayland.windowManager.hyprland.settings = { wayland.windowManager.hyprland.configType = "lua";
"$mod" = "SUPER"; wayland.windowManager.hyprland.extraConfig = builtins.readFile ./config.lua;
"$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;
};
}; };
} }
+7
View File
@@ -0,0 +1,7 @@
{
flake.modules.nixos.libreoffice = { pkgs, ... }: {
environment.systemPackages = with pkgs; [
libreoffice
];
};
}
@@ -1,6 +1,7 @@
{ ... }: { { ... }: {
imports = [ imports = [
./lsp.nix ./lsp.nix
./formatter.nix
./telescope ./telescope
./cmp ./cmp
]; ];
@@ -20,5 +21,7 @@
which-key.enable = true; which-key.enable = true;
glow.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; enable = true;
}; };
rnix.enable = true; rnix.enable = true;
basedpyright.enable = true;
emmet_ls.enable = true;
}; };
keymaps = [ keymaps = [
+1 -1
View File
@@ -1,6 +1,6 @@
{ inputs, ... }: { { inputs, ... }: {
flake-file.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"; nixvim.inputs.nixpkgs.follows = "nixpkgs";
}; };
+7
View File
@@ -0,0 +1,7 @@
{
flake.modules.homeManager.prusa-slicer = { pkgs, ... }: {
home.packages = with pkgs; [
prusa-slicer
];
};
}
-3
View File
@@ -8,9 +8,6 @@
protontricks = { protontricks = {
enable = true; enable = true;
}; };
dedicatedServer.openFirewall = true;
localNetworkGameTransfers.openFirewall = true;
remotePlay.openFirewall = true;
}; };
}; };
} }
+10 -6
View File
@@ -1,8 +1,12 @@
{ { inputs, ... }: {
flake.modules.nixos.backlight = { flake.modules.homeManager.backlight = { pkgs, ... }:
programs.light = { let
enable = true; brightnessctl = "${pkgs.brightnessctl}/bin/brightnessctl";
brightnessKeys.enable = true; in
{
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 })
'';
}; };
};
} }
+5 -7
View File
@@ -30,14 +30,10 @@
patterns = [ patterns = [
#TODO: home.homeDirectory might be usable here #TODO: home.homeDirectory might be usable here
#TODO: should be user and machine specific #TODO: should be user and machine specific
"R /home/${username}/Documents" "R /home/${username}"
"R /home/${username}/.ssh" "+ /home/${username}/.ssh"
"- /home/${username}/Documents/SteamLibrary" "- /home/${username}/.*"
"- /home/${username}/Documents/PrismLauncher instances"
"- /home/${username}/Documents/.Trash-1000"
"- /home/${username}/Documents/VMs/Data"
"- **/node_modules" "- **/node_modules"
"- **/.git"
"- **/.cache" "- **/.cache"
"- **/*build" "- **/*build"
"- **/target" "- **/target"
@@ -48,6 +44,8 @@
"- **/dist" "- **/dist"
"- **/.pio" "- **/.pio"
]; ];
extraConfig.exclude_if_present = [ ".borgignore" ];
}; };
retention.keepWeekly = 2; retention.keepWeekly = 2;
storage.extraConfig.ssh_command = "ssh -i /home/${username}/.ssh/id_ed25519_borg"; storage.extraConfig.ssh_command = "ssh -i /home/${username}/.ssh/id_ed25519_borg";
+12
View File
@@ -0,0 +1,12 @@
{
flake.modules.homeManager.flameshot = {
services.flameshot = {
enable = true;
settings = {
General = {
useGrimAdapter = true;
};
};
};
};
}
@@ -1,12 +1,12 @@
{ inputs, ... }: { { inputs, ... }: {
flake.modules.nixos.tux = { config, ... }: { flake.modules.nixos.mount-duke-smb = { config, ... }: {
age.secrets."nas-creds".file = "${inputs.secrets}/nas-creds.age"; age.secrets."nas-creds".file = "${inputs.secrets}/nas-creds.age";
imports = with inputs.self.factory; [ imports = with inputs.self.factory; [
(mount-cifs { (mount-cifs {
host = "duke.veltnet"; host = "duke.veltnet";
resource = "smb-share"; resource = "smb-share";
destination = "/home/weckyy702/duke"; destination = "/mnt/duke";
credentials_path = "${config.age.secrets.nas-creds.path}"; credentials_path = "${config.age.secrets.nas-creds.path}";
UID = "weckyy702"; UID = "weckyy702";
GID = "users"; GID = "users";
+12
View File
@@ -0,0 +1,12 @@
{
config.flake.factory.nut-client = config: {
power.ups = {
enable = true;
mode = "netclient";
upsmon = {
enable = true;
monitor = config;
};
};
};
}
+2
View File
@@ -2,6 +2,8 @@
flake.modules.nixos.tailscale = { flake.modules.nixos.tailscale = {
services.tailscale = { services.tailscale = {
enable = true; enable = true;
# required for using exit nodes
useRoutingFeatures = "client";
}; };
}; };
} }
+9
View File
@@ -0,0 +1,9 @@
{
flake.modules.nixos.bluetooth = {
hardware.bluetooth = {
enable = true;
};
services.blueman.enable = true;
};
}
+15
View File
@@ -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";
};
};
};
}
+4
View File
@@ -8,4 +8,8 @@
fontDir.enable = true; fontDir.enable = true;
}; };
}; };
flake.modules.homeManager.nerdfonts = {
gtk.font.name = "JetBrainsMono";
};
} }
+8
View File
@@ -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";
};
};
};
}
+7
View File
@@ -0,0 +1,7 @@
{
flake.modules.nixos.resolved = {
services.resolved.enable = true;
networking.networkmanager.dns = "systemd-resolved";
};
}
+1 -1
View File
@@ -1,6 +1,6 @@
{ inputs, ... }: { { inputs, ... }: {
flake-file.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"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
}; };
+1
View File
@@ -23,6 +23,7 @@
multimedia multimedia
zsh zsh
thunderbird thunderbird
flameshot
]; ];
}; };
} }
+10 -10
View File
@@ -1,12 +1,12 @@
-----BEGIN AGE ENCRYPTED FILE----- -----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IFNjTWNPZyB6Mzk1 YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IFNjTWNPZyBDZVNV
MWl5cW5uNkc0WTFUTEF1TGFOS0J3a1YyRzJieTlDOGVPbm84WVVNCjJUNlp5K3Ny dEhaL21OOUpVeEIyVHY0RHUySldpMkxEMjNrbk5nbWlNRUZrblRvCmEyTnRlNC8r
YUhMdWp2Zk5tNGp1TkxKcnNST2h1N0VrVnNiaUZzV21QUFUKLT4gc3NoLWVkMjU1 cldvZGEwS1QvSzdWdGdNSHUrR1N5M1lJcXBpcHZ2RDVMc0UKLT4gc3NoLWVkMjU1
MTkgZkJwNFR3IDR5UFhoTkNOUlJyVmovMUQzTExGK2Y2bFZPMW9ZZFdQTFliUFVj MTkgZkJwNFR3IERiWDkrMEk5MU1vSHB4MmpFbjRMSDhiY3EwVXlrejBHT0h2N2pm
WDRPM2cKSjFQVWhVZXFMY0ZzdDEraXdkeW1BVkRtemFQdHYzeUI4ZjhrNFdsdmo1 N0I3MGsKd3RFQ01ObktrNkV5Z1ZsMVFzakVmUXJEczIyV2FVbldCQThCVERQMzJO
WQotPiBzc2gtZWQyNTUxOSBZazBxSWcgOUJxQkMzYzFrYWhVOTVFTnNvVmI1WDBn VQotPiBzc2gtZWQyNTUxOSBZazBxSWcgNjBhL2RldVQ2SWhjL0R2c09jUUY4d01j
U2ZCVDU0WTliQzRxTVZKdCtCdwpYbUlJVmNHaHpuY0dJMldJSEFkbmpkZTlmTkI1 RjFjamExWlEvOHlaVUhhQlhURQplRzgxY1pxblZnOXNkZVVEUHN0MVlsRFlQK1hW
Y3lhQWRBaWdNOGpvcHdzCi0tLSA0dm04SEovSnZ5dW9MaTdxV1NSUGxnZ3orTzNy WWVWQ1NwSHM1eUFtRHBvCi0tLSBnL0tvY3JBR3JVaGZVT2NZU2F4SnJlLzE5VUFw
WUt6eUt6TFAyTGFhdWFVCs0loU4KFs/vYaJX4d31Gf1y8Fv/jWEIALZ4KIqbEPPf QU4zM2lsNnRKQkE2blBVCqVEBU+W7CRtMD5OPPvioRttzBk1ZAJSgSiZkJPdVli9
3C1Ljr2Mbfz231S/zxjfjK2vhHNtYdBtPOsEtpvThCZSTzuJ/WUzox5XUfL7 Phhr6ZWAr3crBp3Pbn3emLmh+79XdOeAjXI5NhKA2/qW1eSpfClr2rIwu3HX
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
+5
View File
@@ -11,4 +11,9 @@ in
publicKeys = systems ++ users; publicKeys = systems ++ users;
armor = true; armor = true;
}; };
"upsmon.age" = {
publicKeys = systems ++ users;
armor = true;
};
} }
+12
View File
@@ -0,0 +1,12 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IFNjTWNPZyBUZWty
ZGZiS2V4b1l4d3RIck9OZUlkZnpYelUyc2Y0L3FOMzNBZ0thU1VBCjFWdC9JV0M2
YnJ6UTNRUTdPV3pYMkdJa2pRdHVYZDlJRmVmb0liTGpFSlkKLT4gc3NoLWVkMjU1
MTkgZkJwNFR3IFFvMEhYTGlLVlg5eU5jZEh4TC93ZU9NeFJ2WXlaVVIwL096cktR
V3hIeVEKK0RMczZFeFJRS0g0TWFGcG1Ic21oMzgvc0Z2NjZOSVgxc3RtVVhNcXdr
OAotPiBzc2gtZWQyNTUxOSBZazBxSWcgMXJUdGFFT2hWcWpIR1BMbkw4ZEpRcGJN
M1hETXlCVnhXeGhzR2UzdEVtdwpWdzc1aG9ZN0x5MEx6TEVLckwrakYyci9lVHJZ
V2IzQUtGcjRqUVBiRG9BCi0tLSB0dHJHRGE0b0IvQXk5ci83Sm5HQzRiY2hJV25N
MG9QazU1M0JBeUo2eWdZCvvJHo4I0ry33lbaUTowOjS3gZHoBw9v3OWNrA4QHG9M
/TRPcPZ1pjX9m9+seg==
-----END AGE ENCRYPTED FILE-----