9 Commits

Author SHA1 Message Date
Armel van Ravels
af4175f5db update flake.lock drop legcord 2026-06-29 09:56:47 +02:00
84f149fe88 reconfigure monitors after config.reloaded event 2026-06-26 18:23:34 +02:00
Armel van Ravels
73601c9423 Add work specialization for monitor configuration 2026-06-26 14:20:24 +02:00
239f5832c6 Add btop.nix to Gandalf 2026-06-23 07:41:00 +02:00
b6059c8608 Add devenv.nix to Gandalf 2026-06-23 07:37:46 +02:00
Armel van Ravels
83210c012c Configure monitor per host 2026-06-22 11:06:20 +02:00
Armel van Ravels
0af25f781c Super + Q should close instead of kill 2026-06-22 10:24:03 +02:00
Armel van Ravels
edfb61be35 Add Vue exgtension to vscode 2026-06-22 10:10:39 +02:00
cf9c121269 Some cleanup add btop and vlc to some systems 2026-06-21 13:21:11 +02:00
7 changed files with 100 additions and 51 deletions

18
flake.lock generated
View File

@@ -7,11 +7,11 @@
]
},
"locked": {
"lastModified": 1781319724,
"narHash": "sha256-ZGuxexEMo4Xv28KJ0dX/m/PHN4oZIOnxHZpNTyrvx4M=",
"lastModified": 1782704057,
"narHash": "sha256-G1I1gd32F7mp9LAe1DaZ4ZL7NX5gyiKwdCMwro1Vrck=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "8355f0a16b2dbb06a97959a918af5b239bbe05ae",
"rev": "868d0a692de703c2de98fab61968e4e310b7c28e",
"type": "github"
},
"original": {
@@ -38,11 +38,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1781216227,
"narHash": "sha256-9mUW6gNwoN2SWc/l0fW4svPNOulXLl8ijqKyeSOGgJE=",
"lastModified": 1782535326,
"narHash": "sha256-ZeRxu4yn6shd3SNF5ZUQb4r7BaVo1zBKMjRhfoNSBmw=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "a0374025a863d007d98e3297f6aa46cc3141c2f0",
"rev": "714a5f8c4ead6b31148d829288440ed033ccc041",
"type": "github"
},
"original": {
@@ -54,11 +54,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1781359544,
"narHash": "sha256-iUuzKQcyXvopYDDzFpMK5eQKP3WIJExYny2kJtbgUcE=",
"lastModified": 1782636521,
"narHash": "sha256-OG8laCOGtkxlB1JH3XqOnXxnkGJme4mQdXo5hkhCQIY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "9f11f828c213641c2369a9f1fa31fe31557e3156",
"rev": "e1c1b84752fb0897897380a3cae9dc7fcab91ca3",
"type": "github"
},
"original": {

View File

@@ -23,7 +23,9 @@
../modules/bambu-studio-flatpak.nix
../modules/arduino-ide.nix
../modules/devenv.nix
# ../modules/bitwarden.nix
../modules/vlc.nix
../modules/btop.nix
# ../modules/bitwarden.nix
];
boot.kernelPackages = pkgs.linuxPackages_latest;
@@ -65,5 +67,13 @@
};
hardware.bluetooth.enable = true;
services.blueman.enable = true;
home-manager.users.avravels.home.hyprland.monitors = [
{
output = "eDP-1";
mode = "1920x1200";
}
];
system.stateVersion = "25.11"; # Did you read the comment?
}

View File

@@ -26,6 +26,8 @@
../modules/arduino-ide.nix
../modules/bitwarden.nix
../modules/vlc.nix
../modules/devenv.nix
../modules/btop.nix
./mtp-fix.nix
];
@@ -43,13 +45,6 @@
];
networking.firewall.enable = false;
home-manager.users.avravels.home.hyprland.execOnce = [
"waybar"
"[workspace 1 silent] kitty"
"[workspace 1 silent] spotify"
"[workspace 2 silent] firefox"
];
networking.interfaces.enp130s0.wakeOnLan.enable = true;
networking.firewall.allowedUDPPorts = [ 9 ];

View File

@@ -13,6 +13,7 @@
catppuccin.catppuccin-vsc
bmewburn.vscode-intelephense-client
continue.continue
vue.volar
];
profiles.default.userSettings = {

View File

@@ -9,13 +9,27 @@ let
in
{
options.home.hyprland = {
execOnce = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [ "waybar" ];
description = "Commands to run once when Hyprland starts (maps to Hyprland `exec-once`).";
};
options.home.hyprland.monitors = lib.mkOption {
type = lib.types.listOf (lib.types.submodule {
options = {
output = lib.mkOption { type = lib.types.str; };
mode = lib.mkOption {
type = lib.types.str;
default = "preferred";
};
position = lib.mkOption {
type = lib.types.str;
default = "auto";
};
scale = lib.mkOption {
type = lib.types.number;
default = 1;
};
};
});
default = [ ];
};
config = {
home.packages = with pkgs; [
bzmenu
@@ -33,6 +47,12 @@ in
mkLuaInline = lib.generators.mkLuaInline;
toLua = lib.generators.toLua;
mkArgs = args: { _args = args; };
defaultMonitor = {
output = "";
mode = "preferred";
position = "auto";
scale = 1;
};
bind =
keys: dispatcher: options:
mkArgs [
@@ -105,7 +125,7 @@ in
bind = lib.flatten [
(bind "${mod} + W" (dsp.exec_cmd "pkill -SIGUSR1 -f '^waybar$'") { })
(bind "${mod} + Q" (dsp.window.kill) { })
(bind "${mod} + Q" (dsp.window.close) { })
(bind "${mod} + L" (dsp.exec_cmd "hyprlock") { })
(bind "${mod} + D" (dsp.exec_cmd "rofi -show drun") { })
(bind "${mod} + B" (dsp.exec_cmd "bzmenu --launcher rofi") { })
@@ -160,25 +180,34 @@ in
(bind "${mod} + mouse:272" dsp.window.drag { mouse = true; })
(bind "${mod} + mouse:273" dsp.window.resize { mouse = true; })
];
on = [
(mkArgs [
"hyprland.start"
(mkLuaInline ''
function()
hl.exec_cmd("waybar")
on = mkArgs [
"hyprland.start"
(mkLuaInline ''
function()
hl.exec_cmd("waybar")
hl.monitor({
output = "",
mode = "preferred",
position = "auto",
scale = 1,
})
hl.monitor({
output = "eDP-1",
mode = "1920x1200",
position = "auto",
scale = 1,
})
end'')
hl.monitor(${toLua {} defaultMonitor})
${lib.concatMapStringsSep "\n"
(m: "hl.monitor(${toLua {} m})")
cfg.monitors}
end
'')
])
(mkArgs [
"config.reloaded"
(mkLuaInline ''
function()
hl.monitor(${toLua {} defaultMonitor})
${lib.concatMapStringsSep "\n"
(m: "hl.monitor(${toLua {} m})")
cfg.monitors}
end
'')
])
];
};
};

View File

@@ -13,7 +13,6 @@
];
packages = with pkgs; [
home-manager
legcord
spotify
proton-vpn
];

View File

@@ -24,6 +24,7 @@
../modules/devenv.nix
../modules/bitwarden.nix
../modules/btop.nix
../modules/vlc.nix
];
boot.kernelPackages = pkgs.linuxPackages_latest;
@@ -38,14 +39,6 @@
programs.nix-ld.enable = true;
networking.hostName = "laptop-armel";
home-manager.users.avravels.home.hyprland.execOnce = [
"waybar"
"[workspace 1 silent] kitty"
"[workspace 2 silent] firefox"
"[workspace 2 silent] teams-for-linux"
"[workspace 3 silent] spotify"
];
home-manager.users.avravels.home.git.userName = "Armel van Ravels";
home-manager.users.avravels.home.git.userEmail = "armel@webavance.nl";
@@ -63,6 +56,28 @@
virtualisation.libvirtd.enable = true;
specialisation = {
"top floor".configuration = {
home-manager.users.avravels.home.hyprland.monitors = [
{
output = "DP-3";
mode = "2560x1440";
position = "0x0";
}
{
output = "DP-1";
mode = "2560x1440";
position = "2560x0";
}
{
output = "eDP-1";
mode = "1920x1200";
position = "5120x0";
}
];
};
};
networking.hosts = {
"127.0.0.1" = [
"local.wormundco.de"