Compare commits

..

19 Commits

Author SHA1 Message Date
cbedc31575 Tux: Update configuration for tux's new setup 2026-04-03 01:10:08 +02:00
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
64336e8f9f Devtools: Add platformio udev rules 2026-04-02 13:48:08 +02:00
efbb990fab Nixvim: Enable formatters using conform.nvim 2026-04-02 13:48:08 +02:00
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
e22144dcc0 brightnessKey: Set step size to 5 2026-03-19 21:42:32 +01:00
09e90babd9 steam: disable firewall holes 2026-03-19 21:42:13 +01:00
1d14750a1f programs/development-tools: Add nix-ld and man pages 2026-03-19 21:41:52 +01:00
300a594250 drivers: Add opentablet 2026-03-19 21:41:20 +01:00
dcda6ea9b8 services: Add flameshot 2026-03-19 21:36:25 +01:00
c3981e6316 programs: Add libreoffice 2026-03-19 21:35:52 +01:00
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
29 changed files with 156 additions and 86 deletions

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;
};
};
};
}

View File

@@ -5,7 +5,7 @@
imports = with inputs.self.factory; [ imports = with inputs.self.factory; [
(mount-cifs { (mount-cifs {
host = "duke.veltnet"; host = "duke.veltnet";
resource = "home"; resource = "smb-share";
destination = "/home/weckyy702/duke"; destination = "/home/weckyy702/duke";
credentials_path = "${config.age.secrets.nas-creds.path}"; credentials_path = "${config.age.secrets.nas-creds.path}";
UID = "weckyy702"; UID = "weckyy702";

View File

@@ -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
]; ];
}; };
}; };

View File

@@ -1,19 +1,19 @@
{ {
flake.modules.nixos.tux = { flake.modules.nixos.tux = {
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"; }
]; ];
}; };

View File

@@ -1,15 +1,16 @@
{inputs, ...}: { { inputs, ... }: {
flake.modules.nixos.tux = { flake.modules.nixos.tux = {
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;
};
};
} }

View File

@@ -4,12 +4,14 @@
with inputs.self.factory; [ with inputs.self.factory; [
system-desktop system-desktop
systemd-boot systemd-boot
bluetooth
i18n-de
(autologin "weckyy702") (autologin "weckyy702")
development-tools development-tools
i18n-de
tailscale tailscale
opentablet
#TODO: laptop specific aspects like powertop #TODO: laptop specific aspects like powertop
]; ];

View File

@@ -0,0 +1,5 @@
{ inputs, ... }: {
flake.modules.homeManager.blueman-applet = {
services.blueman-applet.enable = true;
};
}

View File

@@ -1,11 +1,4 @@
{ 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

View File

@@ -6,7 +6,7 @@
(mount-cifs { (mount-cifs {
host = "duke.veltnet"; host = "duke.veltnet";
resource = "smb-share"; resource = "smb-share";
destination = "/home/weckyy702/duke"; destination = "/mnt/nas";
credentials_path = "${config.age.secrets.nas-creds.path}"; credentials_path = "${config.age.secrets.nas-creds.path}";
UID = "weckyy702"; UID = "weckyy702";
GID = "users"; GID = "users";

View File

@@ -1,4 +1,11 @@
{ inputs, ... }: { { inputs, ... }: {
flake-file.inputs = {
aghpb = {
url = "github:cat-milk/Anime-Girls-Holding-Programming-Books";
flake = false;
};
};
flake.modules.homeManager.randomized-aghpb-wallpaper = { flake.modules.homeManager.randomized-aghpb-wallpaper = {
imports = with inputs.self.factory; [ imports = with inputs.self.factory; [
(wpaperd { (wpaperd {

View File

@@ -3,6 +3,7 @@
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,7 @@
tux-hyprland tux-hyprland
randomized-aghpb-wallpaper randomized-aghpb-wallpaper
nm-applet nm-applet
blueman-applet
]; ];
}; };
}; };

View File

@@ -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";
};
}; };
} }

View File

@@ -9,7 +9,11 @@
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 +21,7 @@
silent = true; silent = true;
nix-direnv.enable = true; nix-direnv.enable = true;
}; };
programs.nix-ld.enable = true;
}; };
} }

View File

@@ -0,0 +1,5 @@
{
flake.modules.nixos.development-tools = { pkgs, ... }: {
services.udev.packages = with pkgs; [ platformio-core.udev ];
};
}

View File

@@ -21,10 +21,6 @@
follow_mouse = 1; follow_mouse = 1;
}; };
exec-once = [
"hyprctl setcursor catppuccin-mocha-mauve-cursors 24"
];
bind = bind =
[ [
"$mod, Q, exit" "$mod, Q, exit"

View File

@@ -0,0 +1,7 @@
{
flake.modules.nixos.libreoffice = { pkgs, ... }: {
environment.systemPackages = with pkgs; [
libreoffice
];
};
}

View File

@@ -1,6 +1,7 @@
{ ... }: { { ... }: {
imports = [ imports = [
./lsp.nix ./lsp.nix
./formatter.nix
./telescope ./telescope
./cmp ./cmp
]; ];

View File

@@ -0,0 +1,15 @@
{
plugins.conform-nvim = {
enable = true;
autoInstall.enable = true;
settings = {
formatters_by_ft = {
cpp = [ "clang_format" ];
markdown = [
"prettier"
];
};
formatters = { };
};
};
}

View File

@@ -20,6 +20,8 @@
enable = true; enable = true;
}; };
rnix.enable = true; rnix.enable = true;
basedpyright.enable = true;
}; };
keymaps = [ keymaps = [

View File

@@ -0,0 +1,7 @@
{
flake.modules.homeManager.prusa-slicer = { pkgs, ... }: {
home.packages = with pkgs; [
prusa-slicer
];
};
}

View File

@@ -8,9 +8,6 @@
protontricks = { protontricks = {
enable = true; enable = true;
}; };
dedicatedServer.openFirewall = true;
localNetworkGameTransfers.openFirewall = true;
remotePlay.openFirewall = true;
}; };
}; };
} }

View File

@@ -2,7 +2,10 @@
flake.modules.nixos.backlight = { flake.modules.nixos.backlight = {
programs.light = { programs.light = {
enable = true; enable = true;
brightnessKeys.enable = true; brightnessKeys = {
enable = true;
step = 5;
};
}; };
}; };
} }

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";

View File

@@ -0,0 +1,12 @@
{
flake.modules.homeManager.flameshot = {
services.flameshot = {
enable = true;
settings = {
General = {
useGrimAdapter = true;
};
};
};
};
}

View File

@@ -0,0 +1,9 @@
{
flake.modules.nixos.bluetooth = {
hardware.bluetooth = {
enable = true;
};
services.blueman.enable = true;
};
}

View File

@@ -8,4 +8,8 @@
fontDir.enable = true; fontDir.enable = true;
}; };
}; };
flake.modules.homeManager.nerdfonts = {
gtk.font.name = "JetBrainsMono";
};
} }

View File

@@ -0,0 +1,8 @@
{
flake.modules.nixos.opentablet = {
hardware.opentabletdriver = {
enable = true;
daemon.enable = true;
};
};
}

View File

@@ -23,6 +23,7 @@
multimedia multimedia
zsh zsh
thunderbird thunderbird
flameshot
]; ];
}; };
} }

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-----