Compare commits

..
22 Commits
Author SHA1 Message Date
Weckyy702 149877f31e Keith: Add NAPS2 for scanning 2026-08-03 21:38:28 +02:00
Weckyy702 b0a83e2ad5 Misc: Add nixfmt-tree and run nix fmt 2026-07-30 15:03:14 +02:00
Weckyy702 3831cc1540 Nixvim/lsp: Enable tinymist and typst 2026-07-30 15:01:27 +02:00
Weckyy702 3939a7c0cf Tux: Add Synchthing 2026-07-30 09:59:20 +02:00
Weckyy702 dc341b6644 Keith: remove spicetify 2026-07-26 12:55:10 +02:00
Weckyy702 8df7bf8925 SANE: Add sane for plug-and-play scanner support 2026-07-24 14:28:16 +02:00
Weckyy702 359526182e Add ZSA keyboard udev rules 2026-07-24 14:26:51 +02:00
Weckyy702 99cd12bbc6 Devtools: Add more default development tools for convenience 2026-07-11 13:20:36 +02:00
Weckyy702 1827e1e8d7 Audio: Use Pipewire for audio handling
this fixed some annyoing issues with multiple audio outputs
2026-07-11 13:15:27 +02:00
Weckyy702 82023d7721 Keith: Add Rust toolchain 2026-07-10 02:30:48 +02:00
Weckyy702 99966bc87f Keith/Weckyy702: Remove qbittorrent and add ashell 2026-06-24 23:23:25 +02:00
Weckyy702 ab75bec987 Hyprland: Add more keybinds for window and workspace handling 2026-06-24 23:23:03 +02:00
Weckyy702 5bb60f75e6 Keith: Update git config 2026-06-24 23:22:27 +02:00
Weckyy702 de577756a6 Services: Add sunshine for remote game streaming 2026-06-24 23:21:21 +02:00
Weckyy702 8712ea4baf Update .gitignore 2026-06-23 14:24:48 +02:00
Weckyy702 9c101ab211 Tux/Weckyy702: Clean up user specific modules
Generic modules should live in generic locations :^)
2026-06-23 14:24:22 +02:00
Weckyy702 7c83ca07de Git: Split git home-manager config into user-specific and machine-user specific parts 2026-06-23 14:16:36 +02:00
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
52 changed files with 377 additions and 208 deletions
+1
View File
@@ -0,0 +1 @@
result
Generated
+9 -9
View File
@@ -242,11 +242,11 @@
"systems": "systems_2" "systems": "systems_2"
}, },
"locked": { "locked": {
"lastModified": 1781713927, "lastModified": 1781915791,
"narHash": "sha256-U18jyPH/pIx/YZlGv3FbcFw95NRFjQv4aDjlvxhUxNY=", "narHash": "sha256-LT1typkmETNVtWQncEByIR64ycmzZqxqtzZ5I9QkyTY=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixvim", "repo": "nixvim",
"rev": "110376ed06939ee0ccbcfce11e748064c00e666d", "rev": "62019d53fd44f9fe20e3e20c891fbca567f3d331",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -299,11 +299,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1781752752, "lastModified": 1781850613,
"narHash": "sha256-kVG5tV9hddPviGAgqf9sGSuStvv+HAB9onfKqGptV0k=", "narHash": "sha256-UL/f++6fbg1MSC63NSynUVsww+DSay0N5TsbFzLZIsQ=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "c06d86dabe5b92982b9d67acccb9990d58da3a0e", "rev": "4baecb43a008cd004e5220a777e1724bd8d43e43",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -397,11 +397,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1781761091, "lastModified": 1781847955,
"narHash": "sha256-WfgNo6W1U7dwWZsdaAnoG62CXvvJDL+dXfUxnAS7WhU=", "narHash": "sha256-1OSYOGuJp/NoODmSHjsz+6TB/kSilJ+BsFihjY7TTnc=",
"owner": "youwen5", "owner": "youwen5",
"repo": "zen-browser-flake", "repo": "zen-browser-flake",
"rev": "e843542efbb7405141659d47bef211c9a8efbc54", "rev": "4bca251cd556677f7b765ff324d1638ae215be13",
"type": "github" "type": "github"
}, },
"original": { "original": {
+9 -8
View File
@@ -1,13 +1,14 @@
{ {
config.flake.factory.mount-cifs = config.flake.factory.mount-cifs =
{ host {
, resource host,
, destination resource,
, credentials_path destination,
, UID credentials_path,
, GID UID,
, GID,
}: { pkgs, ... }: { }:
{ pkgs, ... }: {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
cifs-utils cifs-utils
]; ];
+6 -4
View File
@@ -1,10 +1,12 @@
{ self, ... }: { { self, ... }: {
config.flake.factory.user = username: isAdmin: { config.flake.factory.user = username: isAdmin: {
nixos."${username}" = nixos."${username}" =
{ lib {
, pkgs lib,
, ... pkgs,
}: { ...
}:
{
users.users."${username}" = { users.users."${username}" = {
isNormalUser = true; isNormalUser = true;
home = "/home/${username}"; home = "/home/${username}";
+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;
}; };
}; };
} }
+6
View File
@@ -0,0 +1,6 @@
{
config.flake.factory.zsa-moonlander = user: { pkgs, ... }: {
users.users.${user}.extraGroups = [ "plugdev" ];
hardware.keyboard.zsa.enable = true;
};
}
+5
View File
@@ -0,0 +1,5 @@
{
perSystem = { pkgs, ... }: {
formatter = pkgs.nixfmt-tree;
};
}
+7 -2
View File
@@ -1,12 +1,17 @@
{ inputs, ... }: { { inputs, ... }: {
flake.modules.nixos.keith = { flake.modules.nixos.keith = {
imports = with inputs.self.modules.nixos; imports =
with inputs.self.factory; [ with inputs.self.modules.nixos;
with inputs.self.factory;
[
system-desktop system-desktop
(autologin "weckyy702") (autologin "weckyy702")
(grub-boot "/dev/nvme0n1") (grub-boot "/dev/nvme0n1")
development-tools development-tools
i18n-de i18n-de
mount-duke-smb
keith-devtools
# (sunshine "weckyy702")
#TODO: moar aspects #TODO: moar aspects
]; ];
+11
View File
@@ -0,0 +1,11 @@
{ inputs, ... }: {
flake.modules.nixos.keith-devtools = {
imports =
with inputs.self.modules.nixos;
with inputs.self.factory;
[
development-tools
rust-dev
];
};
}
+8 -1
View File
@@ -5,7 +5,14 @@
amd-gpu amd-gpu
]; ];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; boot.initrd.availableKernelModules = [
"nvme"
"xhci_pci"
"ahci"
"usbhid"
"usb_storage"
"sd_mod"
];
nixpkgs.hostPlatform = "x86_64-linux"; nixpkgs.hostPlatform = "x86_64-linux";
hardware.cpu.amd.updateMicrocode = true; hardware.cpu.amd.updateMicrocode = true;
+6 -4
View File
@@ -1,7 +1,9 @@
{ self {
, inputs self,
, ... inputs,
}: { ...
}:
{
flake.modules.nixos.keith = { config, ... }: { flake.modules.nixos.keith = { config, ... }: {
age.secrets.upsmon.file = "${inputs.secrets}/upsmon.age"; age.secrets.upsmon.file = "${inputs.secrets}/upsmon.age";
@@ -0,0 +1,5 @@
{
flake.modules.homeManager.keith-weckyy702-git = {
programs.git.signing.key = "/home/weckyy702/.ssh/id_ed25519";
};
}
@@ -4,22 +4,25 @@
weckyy702 weckyy702
steam steam
mullvad mullvad
naps2
]; ];
home-manager.users.weckyy702 = { config, ... }: { home-manager.users.weckyy702 = { config, ... }: {
imports = with inputs.self.modules.homeManager; imports =
with inputs.self.factory; [ with inputs.self.modules.homeManager;
with inputs.self.factory;
[
(wpaperd { (wpaperd {
default = { default = {
path = "${inputs.assets}/horizontal_16x9.png"; path = "${inputs.assets}/horizontal_16x9.png";
}; };
}) })
ashell
keith-weckyy702-git
vesktop vesktop
spicetify
borgmatic borgmatic
qbittorrent
prusa-slicer prusa-slicer
]; ];
}; };
+6 -4
View File
@@ -1,7 +1,9 @@
{ inputs, ... }: { { inputs, ... }: {
flake.modules.nixos.tux = { flake.modules.nixos.tux-devtools = {
imports = with inputs.self.modules.nixos; imports =
with inputs.self.factory; [ with inputs.self.modules.nixos;
with inputs.self.factory;
[
development-tools development-tools
rust-dev rust-dev
@@ -9,7 +11,7 @@
udev-pio udev-pio
udev-lauterbach udev-lauterbach
docker (docker [ "weckyy702" ])
]; ];
}; };
} }
+12 -11
View File
@@ -1,20 +1,21 @@
{ {
flake.modules.nixos.tux = { flake.modules.nixos.tux-filesystems = {
fileSystems."/" = fileSystems."/" = {
{ device = "/dev/mapper/luks-9d836ef1-a7f9-430f-8fb8-f202f6336e5a"; device = "/dev/mapper/luks-9d836ef1-a7f9-430f-8fb8-f202f6336e5a";
fsType = "ext4"; fsType = "ext4";
}; };
fileSystems."/boot" = fileSystems."/boot" = {
{ device = "/dev/disk/by-uuid/15FA-55CF"; 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/mapper/luks-46e78828-ab23-48b8-8e2a-de7a21adbe24"; } { device = "/dev/mapper/luks-46e78828-ab23-48b8-8e2a-de7a21adbe24"; }
]; ];
};
};
} }
+2 -2
View File
@@ -1,3 +1,3 @@
{ inputs, ...}: { { inputs, ... }: {
flake.nixosConfigurations = inputs.self.lib.mkNixos "x86_64-linux" "tux"; flake.nixosConfigurations = inputs.self.lib.mkNixos "x86_64-linux" "tux";
} }
+12 -4
View File
@@ -1,12 +1,20 @@
{ 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 = [
boot.initrd.luks.devices."luks-9d836ef1-a7f9-430f-8fb8-f202f6336e5a".device = "/dev/disk/by-uuid/9d836ef1-a7f9-430f-8fb8-f202f6336e5a"; "xhci_pci"
boot.initrd.luks.devices."luks-46e78828-ab23-48b8-8e2a-de7a21adbe24".device = "/dev/disk/by-uuid/46e78828-ab23-48b8-8e2a-de7a21adbe24"; "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";
+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";
}; };
} }
+14 -7
View File
@@ -1,19 +1,26 @@
{ inputs, ... }: { { inputs, ... }: {
flake.modules.nixos.tux = { flake.modules.nixos.tux = {
imports = with inputs.self.modules.nixos; imports =
with inputs.self.factory; [ with inputs.self.modules.nixos;
with inputs.self.factory;
[
system-desktop system-desktop
systemd-boot systemd-boot
bluetooth bluetooth
i18n-de i18n-de
powermanagement
(autologin "weckyy702")
home-vpn home-vpn
opentablet opentablet
appimage appimage
powermanagement
mount-duke-smb
tux-hardware
tux-filesystems
tux-networking
tux-devtools
tux-weckyy702
(autologin "weckyy702")
]; ];
}; };
} }
@@ -1,5 +0,0 @@
{
flake.modules.nixos.tux = {
users.users.weckyy702.extraGroups = [ "docker" ];
};
}
@@ -0,0 +1,5 @@
{
flake.modules.homeManager.tux-weckyy702-git = {
programs.git.signing.key = "/home/weckyy702/.ssh/id_ed25519_github_sign";
};
}
@@ -1,16 +0,0 @@
{ inputs, ... }: {
flake.modules.nixos.tux = { 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 = "/mnt/nas";
credentials_path = "${config.age.secrets.nas-creds.path}";
UID = "weckyy702";
GID = "users";
})
];
};
}
@@ -1,5 +1,5 @@
{ 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
@@ -7,8 +7,10 @@
]; ];
home-manager.users.weckyy702 = { home-manager.users.weckyy702 = {
imports = with inputs.self.modules.homeManager; imports =
with inputs.self.factory; [ with inputs.self.modules.homeManager;
with inputs.self.factory;
[
borgmatic borgmatic
obsidian obsidian
vesktop vesktop
@@ -18,6 +20,9 @@
blueman-applet blueman-applet
prusa-slicer prusa-slicer
backlight backlight
syncthing
tux-weckyy702-git
]; ];
}; };
}; };
+6 -4
View File
@@ -1,7 +1,9 @@
{ inputs {
, lib inputs,
, ... lib,
}: { ...
}:
{
# Helper functions for creating system / home-manager configurations # Helper functions for creating system / home-manager configurations
options.flake.lib = lib.mkOption { options.flake.lib = lib.mkOption {
+6 -4
View File
@@ -1,7 +1,9 @@
{ inputs {
, config inputs,
, ... config,
}: { ...
}:
{
# Add home-manager input # Add home-manager input
flake-file.inputs = { flake-file.inputs = {
home-manager.url = "github:nix-community/home-manager/release-26.05"; home-manager.url = "github:nix-community/home-manager/release-26.05";
+5 -5
View File
@@ -1,8 +1,8 @@
{ {
flake.modules.nixos.appimage = { pkgs, ...}: { flake.modules.nixos.appimage = { pkgs, ... }: {
programs.appimage = { programs.appimage = {
enable = true; enable = true;
binfmt = true; binfmt = true;
};
}; };
};
} }
+25 -7
View File
@@ -1,9 +1,11 @@
{ {
flake.modules.homeManager.ashell = flake.modules.homeManager.ashell =
{ config {
, lib config,
, ... lib,
}: { ...
}:
{
programs.ashell = { programs.ashell = {
enable = true; enable = true;
systemd.enable = true; systemd.enable = true;
@@ -12,17 +14,33 @@
modules = { modules = {
left = [ "Workspaces" ]; left = [ "Workspaces" ];
center = [ "Clock" ]; center = [ "Clock" ];
right = [ "Tray" [ "SystemInfo" "Settings" ] ]; right = [
"Tray"
[
"SystemInfo"
"Settings"
]
];
}; };
system_info.indicators = [ "Cpu" "Memory" "Temperature" "DownloadSpeed" "UploadSpeed" ]; system_info.indicators = [
"Cpu"
"Memory"
"Temperature"
"DownloadSpeed"
"UploadSpeed"
];
settings.indicators = [ "Battery" ]; settings.indicators = [ "Battery" ];
appearance = lib.mkIf config.catppuccin.enable { appearance = lib.mkIf config.catppuccin.enable {
success_color = "#a6e3a1"; success_color = "#a6e3a1";
text_color = "#cdd6f4"; text_color = "#cdd6f4";
workspace_colors = [ "#fab387" "#b4befe" "#cba6f7" ]; workspace_colors = [
"#fab387"
"#b4befe"
"#cba6f7"
];
primary_color = { primary_color = {
base = "#fab387"; base = "#fab387";
+27 -32
View File
@@ -7,9 +7,10 @@
}; };
flake.modules.homeManager.browser = flake.modules.homeManager.browser =
{ pkgs {
, lib pkgs,
, ... lib,
...
}: }:
let let
mkExtension = shortId: guid: { mkExtension = shortId: guid: {
@@ -19,8 +20,7 @@
installation_mode = "normal_installed"; installation_mode = "normal_installed";
}; };
}; };
zen-pkg = zen-pkg = inputs.zen-browser.packages.${pkgs.stdenv.hostPlatform.system}.zen-browser-unwrapped;
inputs.zen-browser.packages.${pkgs.stdenv.hostPlatform.system}.zen-browser-unwrapped;
prefs = { prefs = {
"zen.tabs.vertical.right-side" = true; "zen.tabs.vertical.right-side" = true;
@@ -55,35 +55,30 @@
in in
{ {
home.packages = [ home.packages = [
( (pkgs.wrapFirefox zen-pkg {
pkgs.wrapFirefox zen-pkg extraPrefs = lib.concatLines (
{ lib.mapAttrsToList (
extraPrefs = lib.concatLines ( name: value: "lockPref(${lib.strings.toJSON name}, ${lib.strings.toJSON value});"
lib.mapAttrsToList ) prefs
( );
name: value: ''lockPref(${lib.strings.toJSON name}, ${lib.strings.toJSON value});''
)
prefs
);
extraPolicies = { extraPolicies = {
DisableTelemetry = true; DisableTelemetry = true;
ExtensionSettings = builtins.listToAttrs extensions; ExtensionSettings = builtins.listToAttrs extensions;
SearchEngines = { SearchEngines = {
Default = "ddg"; Default = "ddg";
Add = [ Add = [
{ {
Name = "nixpkgs packages"; Name = "nixpkgs packages";
URLTemplate = "https://search.nixos.org/packages?query={searchTerms}"; URLTemplate = "https://search.nixos.org/packages?query={searchTerms}";
IconURL = "https://wiki.nixos.org/favicon.ico"; IconURL = "https://wiki.nixos.org/favicon.ico";
Alias = "@np"; Alias = "@np";
} }
]; ];
}; };
}; };
} })
)
]; ];
}; };
} }
+3 -3
View File
@@ -38,9 +38,9 @@
hyprcursor.size = size; hyprcursor.size = size;
}; };
# wayland.windowManager.hyprland.settings.exec-once = [ # wayland.windowManager.hyprland.settings.exec-once = [
# "hyprctl setcursor catppuccin-mocha-mauve-cursors 24" # "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
@@ -5,6 +5,10 @@
gnumake gnumake
clang clang
gcc gcc
gdb
perf
python3
libqalculate
man-pages man-pages
man-pages-posix man-pages-posix
+4 -1
View File
@@ -1,8 +1,11 @@
{ {
flake.modules.nixos.docker = { config.flake.factory.docker = users: { lib, ... }: {
virtualisation.docker = { virtualisation.docker = {
enable = true; enable = true;
autoPrune.enable = true; autoPrune.enable = true;
}; };
users.users = lib.genAttrs users (_: {
extraGroups = [ "docker" ];
});
}; };
} }
@@ -10,7 +10,8 @@
}; };
}; };
flake.modules.homeManager.randomized-aghpb-wallpaper = { pkgs, ... }: flake.modules.homeManager.randomized-aghpb-wallpaper =
{ pkgs, ... }:
let let
combined_wallpapers = pkgs.symlinkJoin { combined_wallpapers = pkgs.symlinkJoin {
name = "joined-wallpapers"; name = "joined-wallpapers";
@@ -32,8 +33,9 @@
}) })
]; ];
# wayland.windowManager.hyprland.settings.bind = { wayland.windowManager.hyprland.extraConfig = ''
# _args "$mod, i, exec, wpaperctl next" 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"))
'';
}; };
} }
-17
View File
@@ -2,21 +2,4 @@
flake.modules.nixos.git = { pkgs, ... }: { flake.modules.nixos.git = { pkgs, ... }: {
environment.systemPackages = [ pkgs.git ]; environment.systemPackages = [ pkgs.git ];
}; };
flake.modules.homeManager.git = {
programs.git = {
enable = true;
settings = {
user = {
email = "konstantin@veltko.de";
name = "Weckyy702";
};
init.defaultBranch = "main";
};
signing = {
format = "ssh";
signByDefault = true;
};
};
};
} }
+7
View File
@@ -63,6 +63,10 @@ hl.bind(mod .. " + H", hl.dsp.focus({ direction = "left" }))
hl.bind(mod .. " + L", hl.dsp.focus({ direction = "right" })) hl.bind(mod .. " + L", hl.dsp.focus({ direction = "right" }))
hl.bind(mod .. " + K", hl.dsp.focus({ direction = "up" })) hl.bind(mod .. " + K", hl.dsp.focus({ direction = "up" }))
hl.bind(mod .. " + J", hl.dsp.focus({ direction = "down" })) 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:272", hl.dsp.window.drag(), { mouse = true })
hl.bind(mod .. " + mouse:273", hl.dsp.window.resize(), { mouse = true }) hl.bind(mod .. " + mouse:273", hl.dsp.window.resize(), { mouse = true })
@@ -79,6 +83,9 @@ hl.gesture({
action = "workspace" 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 --- Media handling
hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"), { locked = true, repeating = true }) 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("XF86AudioLowerVolume", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"), { locked = true, repeating = true })
+10
View File
@@ -0,0 +1,10 @@
{ self, ... }: {
flake.modules.nixos.naps2 = { pkgs, ... }: {
imports = with self.modules.nixos; [
sane
];
environment.systemPackages = with pkgs; [
naps2
];
};
}
@@ -23,6 +23,7 @@
basedpyright.enable = true; basedpyright.enable = true;
emmet_ls.enable = true; emmet_ls.enable = true;
tinymist.enable = true;
}; };
keymaps = [ keymaps = [
@@ -36,4 +37,7 @@
plugins.lspconfig.enable = true; plugins.lspconfig.enable = true;
plugins.clangd-extensions.enable = true; plugins.clangd-extensions.enable = true;
plugins.typst-vim = {
enable = true;
};
} }
+2 -1
View File
@@ -1,5 +1,6 @@
{ inputs, ... }: { { inputs, ... }: {
flake.modules.homeManager.backlight = { pkgs, ... }: flake.modules.homeManager.backlight =
{ pkgs, ... }:
let let
brightnessctl = "${pkgs.brightnessctl}/bin/brightnessctl"; brightnessctl = "${pkgs.brightnessctl}/bin/brightnessctl";
in in
+6 -5
View File
@@ -1,10 +1,11 @@
{ {
flake.modules.homeManager.borgmatic = flake.modules.homeManager.borgmatic =
{ config {
, osConfig config,
, pkgs osConfig,
, lib pkgs,
, ... lib,
...
}: }:
let let
hostname = osConfig.networking.hostName; hostname = osConfig.networking.hostName;
@@ -1,5 +1,5 @@
{ inputs, ... }: { { inputs, ... }: {
flake.modules.nixos.keith = { 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; [
+5 -5
View File
@@ -1,7 +1,7 @@
{ {
flake.modules.nixos.networkmanager = { flake.modules.nixos.networkmanager = {
networking.networkmanager = { networking.networkmanager = {
enable = true; enable = true;
}; };
}; };
} }
+6 -1
View File
@@ -1,8 +1,13 @@
{ {
flake.modules.nixos.pipewire = { 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 = { services.pipewire = {
alsa.enable = true;
enable = true; enable = true;
audio.enable = true;
alsa.enable = true;
wireplumber.enable = true; wireplumber.enable = true;
}; };
}; };
+5
View File
@@ -0,0 +1,5 @@
{
flake.modules.nixos.sane = {
hardware.sane.enable = true;
};
}
+25
View File
@@ -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";
}
];
}
];
};
};
};
}
+10
View File
@@ -0,0 +1,10 @@
{
flake.modules.homeManager.syncthing = {
services.syncthing = {
enable = true;
overrideDevices = false;
overrideFolders = false;
settings.options.localAnnounceEnabled = true;
};
};
}
+11 -11
View File
@@ -1,15 +1,15 @@
{ {
flake.modules.nixos.intel-gpu = {pkgs, ...}: { flake.modules.nixos.intel-gpu = { pkgs, ... }: {
boot.kernelModules = [ "kvm-intel" ]; boot.kernelModules = [ "kvm-intel" ];
hardware.graphics = { hardware.graphics = {
enable = true; enable = true;
extraPackages = with pkgs; [ extraPackages = with pkgs; [
intel-media-driver intel-media-driver
intel-compute-runtime intel-compute-runtime
]; ];
}; };
environment.sessionVariables.LIBVA_DRIVER_NAME = "iHD"; environment.sessionVariables.LIBVA_DRIVER_NAME = "iHD";
}; };
} }
+4 -4
View File
@@ -1,6 +1,6 @@
{ {
flake.modules.nixos.systemd-boot = { flake.modules.nixos.systemd-boot = {
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;
}; };
} }
+2
View File
@@ -3,6 +3,8 @@
imports = with inputs.self.modules.nixos; [ imports = with inputs.self.modules.nixos; [
system-base system-base
hyprland hyprland
pipewire
sane
#TODO: moar aspects #TODO: moar aspects
]; ];
+19
View File
@@ -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;
};
};
};
}
+22 -10
View File
@@ -1,26 +1,38 @@
{ inputs {
, self inputs,
, lib self,
, ... lib,
}: { ...
}:
{
flake.homeConfigurations = inputs.self.lib.mkHomeManager "x86_64-linux" "weckyy702"; flake.homeConfigurations = inputs.self.lib.mkHomeManager "x86_64-linux" "weckyy702";
flake.modules = lib.mkMerge [ flake.modules = lib.mkMerge [
(self.factory.user "weckyy702" true) (self.factory.user "weckyy702" true)
{ {
nixos.weckyy702 = { nixos.weckyy702 = {
imports = with self.modules.nixos; [ imports =
kanata with self.modules.nixos;
catppuccin with self.factory;
]; [
kanata
catppuccin
(zsa-moonlander "weckyy702")
];
users.users.weckyy702.extraGroups = [ "networkmanager" "dialout" ]; users.users.weckyy702.extraGroups = [
"networkmanager"
"dialout"
"scanner"
];
}; };
homeManager.weckyy702 = { pkgs, ... }: { homeManager.weckyy702 = { pkgs, ... }: {
imports = with self.modules.homeManager; [ imports = with self.modules.homeManager; [
nixvim nixvim
btop btop
weckyy702-git
#TODO: moar aspects #TODO: moar aspects
]; ];
}; };
+4 -1
View File
@@ -4,7 +4,10 @@ let
keith = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKrauXP79zUm2FlVj3HRm+C8ufYAABiIoe68OCGbIm+2"; keith = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKrauXP79zUm2FlVj3HRm+C8ufYAABiIoe68OCGbIm+2";
tux = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFB7bh6ioZrTSR0AkKvJ1qxVWX0kwcM8yeHghTYFGpqZ"; tux = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFB7bh6ioZrTSR0AkKvJ1qxVWX0kwcM8yeHghTYFGpqZ";
systems = [ keith tux ]; systems = [
keith
tux
];
in in
{ {
"nas-creds.age" = { "nas-creds.age" = {