Home Gen505 @ 2025-05-03-01:35 by jonas@comfy-station

This commit is contained in:
Jonas Röger 2025-05-03 01:35:34 +02:00
parent 7add5e0db6
commit 9a5d27a7b1
13 changed files with 396 additions and 400 deletions

View File

@ -123,6 +123,7 @@
({...}: {nixpkgs.config.allowUnfree = true;}) ({...}: {nixpkgs.config.allowUnfree = true;})
inputs.plasma-manager.homeManagerModules.plasma-manager inputs.plasma-manager.homeManagerModules.plasma-manager
inputs.sops-nix.homeManagerModules.sops inputs.sops-nix.homeManagerModules.sops
./modules
(./home + "/jonas@comfy-station.nix") (./home + "/jonas@comfy-station.nix")
]; ];
@ -141,6 +142,7 @@
modules = [ modules = [
({...}: {nixpkgs.overlays = [overlay-unstable];}) ({...}: {nixpkgs.overlays = [overlay-unstable];})
({...}: {nixpkgs.config.allowUnfree = true;}) ({...}: {nixpkgs.config.allowUnfree = true;})
./modules
(./home + "/jonas@harbor.nix") (./home + "/jonas@harbor.nix")
]; ];
@ -159,6 +161,7 @@
modules = [ modules = [
({...}: {nixpkgs.overlays = [overlay-unstable];}) ({...}: {nixpkgs.overlays = [overlay-unstable];})
({...}: {nixpkgs.config.allowUnfree = true;}) ({...}: {nixpkgs.config.allowUnfree = true;})
./modules
(./home + "/jonas@monolith.nix") (./home + "/jonas@monolith.nix")
]; ];
@ -177,6 +180,7 @@
modules = [ modules = [
({...}: {nixpkgs.overlays = [overlay-unstable];}) ({...}: {nixpkgs.overlays = [overlay-unstable];})
({...}: {nixpkgs.config.allowUnfree = true;}) ({...}: {nixpkgs.config.allowUnfree = true;})
./modules
./home/jroeger.nix ./home/jroeger.nix
]; ];

View File

@ -1,9 +1,7 @@
{config, ...}: rec { {config, ...}: rec {
imports = [ imports = [
../modules/home/borg.nix ../modules/home/borg.nix
../modules/home/doom
../modules/home/firefox.nix ../modules/home/firefox.nix
../modules/home/hyprland
../modules/home/kdeconnect.nix ../modules/home/kdeconnect.nix
../modules/home/kitty ../modules/home/kitty
../modules/home/nextcloud ../modules/home/nextcloud
@ -28,10 +26,11 @@
age.keyFile = "${home.homeDirectory}/.config/sops/age/keys.txt"; age.keyFile = "${home.homeDirectory}/.config/sops/age/keys.txt";
}; };
doom.enable = true; # hive modules
doom.enableCopilot = true; hive.doom.enable = true;
doom.withNixPkgs = true; hive.doom.enableCopilot = true;
doom.withShellPkgs = true; hive.doom.withNixPkgs = true;
hive.doom.withShellPkgs = true;
# Make session variables available in systemd units # Make session variables available in systemd units
# SEE: https://github.com/nix-community/home-manager/pull/5543 # SEE: https://github.com/nix-community/home-manager/pull/5543

View File

@ -1,6 +1,5 @@
{...}: { {...}: {
imports = [ imports = [
../modules/home/doom
../modules/home/ranger ../modules/home/ranger
../modules/home/zsh ../modules/home/zsh
]; ];
@ -10,9 +9,11 @@
home.username = "jonas"; home.username = "jonas";
home.homeDirectory = "/home/jonas"; home.homeDirectory = "/home/jonas";
doom.enable = true; # hive modules
doom.withNixPkgs = true; hive.nix-scripts.enable = true;
doom.withShellPkgs = true; hive.doom.enable = true;
hive.doom.withNixPkgs = true;
hive.doom.withShellPkgs = true;
# This value determines the Home Manager release that your configuration is # This value determines the Home Manager release that your configuration is
# compatible with. This helps avoid breakage when a new Home Manager release # compatible with. This helps avoid breakage when a new Home Manager release

View File

@ -1,7 +1,6 @@
{config, ...}: rec { {config, ...}: rec {
imports = [ imports = [
../modules/home/borg.nix ../modules/home/borg.nix
../modules/home/doom
../modules/home/firefox.nix ../modules/home/firefox.nix
../modules/home/kdeconnect.nix ../modules/home/kdeconnect.nix
../modules/home/kitty ../modules/home/kitty
@ -21,10 +20,11 @@
age.keyFile = "${home.homeDirectory}/.config/sops/age/keys.txt"; age.keyFile = "${home.homeDirectory}/.config/sops/age/keys.txt";
}; };
doom.enable = true; # hive moduless
doom.enableCopilot = true; hive.doom.enable = true;
doom.withNixPkgs = true; hive.doom.enableCopilot = true;
doom.withShellPkgs = true; hive.doom.withNixPkgs = true;
hive.doom.withShellPkgs = true;
# Make session variables available in systemd units # Make session variables available in systemd units
# SEE: https://github.com/nix-community/home-manager/pull/5543 # SEE: https://github.com/nix-community/home-manager/pull/5543

View File

@ -1,6 +1,5 @@
{...}: { {...}: {
imports = [ imports = [
../modules/home/doom
../modules/home/kitty ../modules/home/kitty
../modules/home/ranger ../modules/home/ranger
../modules/home/yubikey.nix ../modules/home/yubikey.nix
@ -14,11 +13,12 @@
yubikey.pinentry = "gnome3"; yubikey.pinentry = "gnome3";
doom.enable = true; # hive modules
doom.enableCopilot = true; hive.doom.enable = true;
doom.withNixPkgs = true; hive.doom.enableCopilot = true;
doom.withShellPkgs = true; hive.doom.withNixPkgs = true;
doom.withCXXPkgs = true; hive.doom.withShellPkgs = true;
hive.doom.withCXXPkgs = true;
# This value determines the Home Manager release that your configuration is # This value determines the Home Manager release that your configuration is
# compatible with. This helps avoid breakage when a new Home Manager release # compatible with. This helps avoid breakage when a new Home Manager release

View File

@ -1,12 +1,21 @@
{isHM ? null, ...}: { {
isHM ? null,
lib,
...
}: {
assertions = [ assertions = [
{ {
assertion = isHM != null; assertion = isHM != null;
message = "The \"home-manager\" flag isHM is required."; message = "The \"home-manager\" flag isHM is required.";
} }
]; ];
imports = [ imports =
[
# modules containing both system and home-manager configs
./bin/nix-scripts.nix ./bin/nix-scripts.nix
]
++ lib.optionals (! isHM) [
# pure system modules
./desktop/de ./desktop/de
./desktop/dm ./desktop/dm
./hardware/bluetooth.nix ./hardware/bluetooth.nix
@ -16,5 +25,10 @@
./services/borg-server.nix ./services/borg-server.nix
./services/nextcloud-instance.nix ./services/nextcloud-instance.nix
./services/virt-manager.nix ./services/virt-manager.nix
]
++ lib.optionals isHM [
# pure home-manager modules
./home/doom
./home/hyprland
]; ];
} }

View File

@ -4,7 +4,7 @@
lib, lib,
... ...
}: let }: let
cfg = config.doom; cfg = config.hive.doom;
doom-pkgs = with pkgs; [ doom-pkgs = with pkgs; [
fira fira
fira-code-nerdfont fira-code-nerdfont
@ -81,7 +81,7 @@
fi fi
''; '';
in { in {
options.doom = { options.hive.doom = {
enable = lib.mkEnableOption "Enable Doom Emacs"; enable = lib.mkEnableOption "Enable Doom Emacs";
enableCopilot = lib.mkEnableOption "Enable Copilot in Doom Emacs"; enableCopilot = lib.mkEnableOption "Enable Copilot in Doom Emacs";
withLatexPkgs = lib.mkEnableOption "Enable LaTeX packages in doom path"; withLatexPkgs = lib.mkEnableOption "Enable LaTeX packages in doom path";

View File

@ -1,29 +0,0 @@
{
config,
pkgs,
...
}: {
services.dunst.settings = {
global = {
origin = "top-right";
frame_color = "#33ccff";
transparency = 20;
background = "#000000";
timeout = 5;
offset = "20x50";
force_xwayland = false;
corner_radius = 15;
follow = "keyboard";
progress_bar = true;
dmenu = "${pkgs.wofi}/bin/wofi --dmenu";
mouse_left_click = "do_action, close_current";
mouse_middle_click = "close_current";
mouse_right_click = "close_all";
};
urgency_critical = {
timeout = 15;
background = "#500005";
};
};
}

View File

@ -1,6 +0,0 @@
{...}: {
imports = [
./config.nix
./dunst.nix
];
}

View File

@ -1,3 +0,0 @@
{...}: {
services.dunst.enable = true;
}

View File

@ -4,6 +4,7 @@
lib, lib,
... ...
}: let }: let
cfg = config.hive.hyprland;
screenshot = pkgs.writeShellScriptBin "screenshot" '' screenshot = pkgs.writeShellScriptBin "screenshot" ''
region=0 region=0
clip=0 clip=0
@ -31,6 +32,7 @@
fi fi
''; '';
in { in {
config = lib.mkIf cfg.enable {
services.hypridle.settings = { services.hypridle.settings = {
general = { general = {
# lock_cmd = notify-send "lock!" # dbus/sysd lock command (loginctl lock-session) # lock_cmd = notify-send "lock!" # dbus/sysd lock command (loginctl lock-session)
@ -57,7 +59,7 @@ in {
]; ];
}; };
programs.hyprlock = lib.mkIf config.wayland.windowManager.hyprland.enable { programs.hyprlock = {
enable = true; enable = true;
settings = { settings = {
background = [ background = [
@ -159,7 +161,7 @@ in {
}; };
}; };
wayland.windowManager.hyprland = lib.mkIf config.wayland.windowManager.hyprland.enable { wayland.windowManager.hyprland = {
settings = { settings = {
exec-once = [ exec-once = [
"${pkgs.wpaperd}/bin/wpaperd &" "${pkgs.wpaperd}/bin/wpaperd &"
@ -357,4 +359,5 @@ in {
# }; # };
}; };
}; };
};
} }

View File

@ -1,4 +1,8 @@
{...}: { {lib, ...}: {
options.hive.hyprland = {
enable = lib.mkEnableOption "Enable Hyprland configuration";
};
imports = [ imports = [
./config.nix ./config.nix
./hyprland.nix ./hyprland.nix

View File

@ -1,4 +1,12 @@
{pkgs, ...}: { {
config,
lib,
pkgs,
...
}: let
cfg = config.hive.hyprland;
in {
config = lib.mkIf cfg.enable {
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
enable = true; enable = true;
systemd.enable = false; systemd.enable = false;
@ -20,4 +28,5 @@
}; };
}; };
}; };
};
} }