From 5fa40025d0a8f996b92e33675f329f5044a169ab Mon Sep 17 00:00:00 2001 From: martyTF Date: Sat, 20 Dec 2025 05:59:46 +0100 Subject: [PATCH] we just gettin started just a few more modules, like bitwarden, syncthing, screenshots --- hosts/marty-latitude/home.nix | 30 ++++++++++++-- hosts/marty-pc/home.nix | 11 ++++-- hosts/marty-server/home.nix | 12 +----- modules/default.nix | 4 +- modules/desktop/audio.nix | 21 ++++++++++ .../{window_manager => desktop}/default.nix | 2 + .../{window_manager => desktop}/hyprland.nix | 19 ++++----- modules/desktop/rofi.nix | 29 ++++++++++++++ modules/desktop/screenshot.nix | 22 +++++++++++ .../{window_manager => desktop}/walker.nix | 4 +- .../{window_manager => desktop}/wallpaper.nix | 4 +- .../{window_manager => desktop}/waybar.nix | 4 +- modules/misc/bitwarden.nix | 22 +++++++++++ modules/misc/default.nix | 13 +++++++ modules/misc/syncthing.nix | 39 +++++++++++++++++++ modules/syncthing/default.nix | 21 ---------- modules/terminal/default.nix | 3 +- .../terminal/{ranger.nix => file-manager.nix} | 9 ++++- modules/terminal/toys.nix | 2 +- system/default.nix | 1 + system/shell.nix | 1 + system/ssh.nix | 13 +++++++ user/default.nix | 2 +- 23 files changed, 227 insertions(+), 61 deletions(-) create mode 100644 modules/desktop/audio.nix rename modules/{window_manager => desktop}/default.nix (78%) rename modules/{window_manager => desktop}/hyprland.nix (74%) create mode 100644 modules/desktop/rofi.nix create mode 100644 modules/desktop/screenshot.nix rename modules/{window_manager => desktop}/walker.nix (75%) rename modules/{window_manager => desktop}/wallpaper.nix (71%) rename modules/{window_manager => desktop}/waybar.nix (71%) create mode 100644 modules/misc/bitwarden.nix create mode 100644 modules/misc/default.nix create mode 100644 modules/misc/syncthing.nix delete mode 100644 modules/syncthing/default.nix rename modules/terminal/{ranger.nix => file-manager.nix} (61%) create mode 100644 system/ssh.nix diff --git a/hosts/marty-latitude/home.nix b/hosts/marty-latitude/home.nix index 4cfa19e..af771bc 100644 --- a/hosts/marty-latitude/home.nix +++ b/hosts/marty-latitude/home.nix @@ -29,9 +29,7 @@ home.packages = with pkgs; [ # # Adds the 'hello' command to your environment. It prints a friendly # # "Hello, world!" when run. - hello - rbw - pinentry-curses + # hello # # It is sometimes useful to fine-tune packages, for example, by applying # # overrides. You can do that directly here, just don't forget the @@ -92,7 +90,7 @@ kitty.enable = true; ranger.enable = true; }; - window_manager = { + desktop = { hyprland = { enable = true; monitors = [ @@ -104,6 +102,30 @@ walker.enable = true; wallpaper.enable = true; }; + syncthing = { + devices = { + marty-pc = { + id = "6PJZD52-EEWIO7U-MZMJJ5B-33DGNSU-O7DJVRT-GAE7QZG-ZY3VIMV-VSMBDQP"; + autoAcceptFolder = true; + }; + marty-server = { + id = "UDMXEKZ-HYIFI5S-VAKE75O-K3C65QV-LS43QA5-3JTHWKL-CI5C3Y6-P4NSQQM"; + autoAcceptFolders = true; + }; + marty-latitude = { + id = "SOAWHKA-BCQGO5G-IJ24WTO-RDETP5M-LNTVO66-MHIOUU2-NNQ57P6-FFKNSA6"; + autoAcceptFolders = true; + }; + marty-pixel = { + id = "GSBXOGW-6SYLDUQ-HPH7FBJ-CKHWQIK-K5YORB4-CYKGYT6-DLCVSAK-LA2RMAK"; + autoAcceptFolders = true; + }; + marty-fairphone = { + id = "2ISVWQV-4USY5IA-2OU55CE-Q7VLPD7-4RVQ5WX-FXQSJMY-2ES4EZG-IGFB7QG"; + autoAcceptFolders = true; + }; + }; + }; imports = [ inputs.walker.homeManagerModules.default diff --git a/hosts/marty-pc/home.nix b/hosts/marty-pc/home.nix index 717b81b..e6602d9 100644 --- a/hosts/marty-pc/home.nix +++ b/hosts/marty-pc/home.nix @@ -29,9 +29,7 @@ home.packages = with pkgs; [ # # Adds the 'hello' command to your environment. It prints a friendly # # "Hello, world!" when run. - hello - rbw - pinentry-curses + # hello # # It is sometimes useful to fine-tune packages, for example, by applying # # overrides. You can do that directly here, just don't forget the @@ -89,10 +87,15 @@ terminal = { kitty.enable = true; }; - window_manager = { + desktop = { hyprland = { enable = false; numlock = true; + monitors = [ + "monitor = desc:AOC Q27G2WG4 0x00005F45, 2560x1440@144, 3840x0, 1 # main monitor" + "monitor = desc:Samsung Electric Company S24D330 0x5A5A5131, 1920x1080@60, 3840x1440, 1 # side monitor" + "monitor = desc:Panasonic Industry Company Panasonic-TV, 3840x2160@30, 0x0, 1 # tv" + ]; }; waybar.enable = true; walker.enable = true; diff --git a/hosts/marty-server/home.nix b/hosts/marty-server/home.nix index 72c2533..7898604 100644 --- a/hosts/marty-server/home.nix +++ b/hosts/marty-server/home.nix @@ -29,9 +29,7 @@ home.packages = with pkgs; [ # # Adds the 'hello' command to your environment. It prints a friendly # # "Hello, world!" when run. - hello - rbw - pinentry-curses + # hello # # It is sometimes useful to fine-tune packages, for example, by applying # # overrides. You can do that directly here, just don't forget the @@ -89,14 +87,6 @@ terminal = { kitty.enable = false; }; - window_manager = { - hyprland = { - enable = false; - }; - waybar.enable = false; - walker.enable = false; - wallpaper.enable = true; - }; imports = [ inputs.walker.homeManagerModules.default diff --git a/modules/default.nix b/modules/default.nix index 8d8e909..4ef6678 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -9,7 +9,7 @@ imports = [ ./development ./terminal - ./window_manager - ./syncthing + ./desktop + ./misc ]; } diff --git a/modules/desktop/audio.nix b/modules/desktop/audio.nix new file mode 100644 index 0000000..30e5b08 --- /dev/null +++ b/modules/desktop/audio.nix @@ -0,0 +1,21 @@ +{ + config, + pkgs, + inputs, + lib, + ... +}: + +{ + options = { + desktop = { + audio.enable = lib.mkEnableOption "enable audio"; + }; + }; + + config = lib.mkIf config.desktop.audio.enable { + home.packages = with pkgs; [ + pavucontrol + ]; + }; +} diff --git a/modules/window_manager/default.nix b/modules/desktop/default.nix similarity index 78% rename from modules/window_manager/default.nix rename to modules/desktop/default.nix index 6685469..736acba 100644 --- a/modules/window_manager/default.nix +++ b/modules/desktop/default.nix @@ -10,6 +10,8 @@ ./hyprland.nix ./walker.nix ./waybar.nix + ./rofi.nix ./wallpaper.nix + ./screenshot.nix ]; } diff --git a/modules/window_manager/hyprland.nix b/modules/desktop/hyprland.nix similarity index 74% rename from modules/window_manager/hyprland.nix rename to modules/desktop/hyprland.nix index 45105e5..8a9d2af 100644 --- a/modules/window_manager/hyprland.nix +++ b/modules/desktop/hyprland.nix @@ -7,8 +7,8 @@ { options = { - window_manager = { - hyprland= { + desktop = { + hyprland = { enable = lib.mkEnableOption "enable hyprland"; monitors = lib.mkOption { default = [ @@ -21,7 +21,7 @@ }; }; - config = lib.mkIf config.window_manager.hyprland.enable { + config = lib.mkIf config.desktop.hyprland.enable { xdg.portal = { enable = true; configPackages = [ pkgs.xdg-desktop-portal-hyprland ]; @@ -35,22 +35,23 @@ wayland.windowManager.hyprland = { enable = true; settings = { - monitor = config.window_manager.hyprland.monitors; + monitor = config.desktop.hyprland.monitors; exec-once = [ - (lib.mkIf (config.window_manager.walker.enable) "elephant") - (lib.mkIf (config.window_manager.waybar.enable) "waybar") - (lib.mkIf (config.window_manager.wallpaper.enable) "waypaper --restore --random") + (lib.mkIf (config.desktop.walker.enable) "elephant") + (lib.mkIf (config.desktop.waybar.enable) "waybar") + (lib.mkIf (config.desktop.wallpaper.enable) "waypaper --restore --random") ]; "$mod" = "SUPER"; "$shiftmod" = "SUPER_SHIFT"; bind = [ - (lib.mkIf (config.window_manager.walker.enable) "$mod, D, exec, walker") + (lib.mkIf (config.desktop.walker.enable) "$mod, D, exec, walker") + (lib.mkIf (config.desktop.rofi.enable) "$mod, D, exec, rofi -show drun") (lib.mkIf (config.terminal.kitty.enable) "$mod, return, exec, kitty") "$shiftmod, Q, killactive," ]; input = { kb_layout = "de"; - numlock_by_default = config.window_manager.hyprland.numlock; + numlock_by_default = config.desktop.hyprland.numlock; follow_mouse = 2; mouse_refocus = false; accel_profile = "flat"; diff --git a/modules/desktop/rofi.nix b/modules/desktop/rofi.nix new file mode 100644 index 0000000..3a8729e --- /dev/null +++ b/modules/desktop/rofi.nix @@ -0,0 +1,29 @@ +{ + config, + pkgs, + inputs, + lib, + ... +}: + +{ + options = { + desktop = { + rofi.enable = lib.mkEnableOption "enable rofi"; + }; + }; + + config = lib.mkIf config.desktop.rofi.enable { + programs = { + rofi = { + enable = true; + modes = [ + "drun" + "run" + "ssh" + + ]; + }; + }; + }; +} diff --git a/modules/desktop/screenshot.nix b/modules/desktop/screenshot.nix new file mode 100644 index 0000000..b3785de --- /dev/null +++ b/modules/desktop/screenshot.nix @@ -0,0 +1,22 @@ +{ + config, + pkgs, + inputs, + lib, + ... +}: + +{ + options = { + desktop = { + grimshot.enable = lib.mkEnableOption "enable grimshot"; + }; + }; + + config = lib.mkIf config.desktop.grimshot.enable { + home.packages = with pkgs; [ + grimblast + gradia + ]; + }; +} diff --git a/modules/window_manager/walker.nix b/modules/desktop/walker.nix similarity index 75% rename from modules/window_manager/walker.nix rename to modules/desktop/walker.nix index 2ac417c..8e2130e 100644 --- a/modules/window_manager/walker.nix +++ b/modules/desktop/walker.nix @@ -8,12 +8,12 @@ { options = { - window_manager = { + desktop = { walker.enable = lib.mkEnableOption "enable walker"; }; }; - config = lib.mkIf config.window_manager.walker.enable { + config = lib.mkIf config.desktop.walker.enable { programs = { walker = { enable = true; diff --git a/modules/window_manager/wallpaper.nix b/modules/desktop/wallpaper.nix similarity index 71% rename from modules/window_manager/wallpaper.nix rename to modules/desktop/wallpaper.nix index 5568ce7..51d0215 100644 --- a/modules/window_manager/wallpaper.nix +++ b/modules/desktop/wallpaper.nix @@ -8,12 +8,12 @@ { options = { - window_manager = { + desktop = { wallpaper.enable = lib.mkEnableOption "enable wallpapers"; }; }; - config = lib.mkIf config.window_manager.wallpaper.enable { + config = lib.mkIf config.desktop.wallpaper.enable { home.packages = with pkgs; [ waypaper swww diff --git a/modules/window_manager/waybar.nix b/modules/desktop/waybar.nix similarity index 71% rename from modules/window_manager/waybar.nix rename to modules/desktop/waybar.nix index 383b64b..887329d 100644 --- a/modules/window_manager/waybar.nix +++ b/modules/desktop/waybar.nix @@ -7,12 +7,12 @@ { options = { - window_manager = { + desktop = { waybar.enable = lib.mkEnableOption "enable waybar"; }; }; - config = lib.mkIf config.window_manager.waybar.enable { + config = lib.mkIf config.desktop.waybar.enable { programs = { waybar = { enable = true; diff --git a/modules/misc/bitwarden.nix b/modules/misc/bitwarden.nix new file mode 100644 index 0000000..3c7fbe6 --- /dev/null +++ b/modules/misc/bitwarden.nix @@ -0,0 +1,22 @@ +{ + config, + lib, + pkgs, + ... +}: + +{ + options = { + misc = { + bitwarden.enable = lib.mkEnableOption "enable bitwarden"; + }; + }; + + config = lib.mkIf config.misc.bitwarden.enable { + home.packages = with pkgs; [ + rbw + pinentry-curses + (lib.mkIf (config.desktop.rofi.enable) rofi-rbw) + ]; + }; +} diff --git a/modules/misc/default.nix b/modules/misc/default.nix new file mode 100644 index 0000000..2ec9703 --- /dev/null +++ b/modules/misc/default.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + pkgs, + ... +}: + +{ + imports = [ + ./bitwarden.nix + ./syncthing.nix + ]; +} diff --git a/modules/misc/syncthing.nix b/modules/misc/syncthing.nix new file mode 100644 index 0000000..fd3a47c --- /dev/null +++ b/modules/misc/syncthing.nix @@ -0,0 +1,39 @@ +{ + config, + lib, + pkgs, + ... +}: + +{ + options = { + syncthing.devices = lib.mkOption { + default = { }; + description = '' + set syncthing devices + ''; + }; + syncthing.folders = lib.mkOption { + default = { }; + description = '' + set syncthing folders + ''; + }; + }; + + config = { + services = { + syncthing = { + enable = true; + tray.enable = true; + guiAddress = "0.0.0.0:8384"; + settings = { + devices = config.syncthing.devices; + folders = config.syncthing.folders; + }; + overrideDevices = lib.mkIf (config.syncthing.devices == { }) false; + overrideFolders = lib.mkIf (config.syncthing.folders == { }) false; + }; + }; + }; +} diff --git a/modules/syncthing/default.nix b/modules/syncthing/default.nix deleted file mode 100644 index e3e4521..0000000 --- a/modules/syncthing/default.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -{ - options = { - }; - - config = { - services = { - syncthing = { - enable = true; - tray.enable = true; - guiAddress = "0.0.0.0:8384"; - }; - }; - }; -} diff --git a/modules/terminal/default.nix b/modules/terminal/default.nix index ea8b2e8..f8b94da 100644 --- a/modules/terminal/default.nix +++ b/modules/terminal/default.nix @@ -8,8 +8,9 @@ { imports = [ ./kitty.nix - ./ranger.nix + ./file-manager.nix ./fish.nix + ./toys.nix ]; } diff --git a/modules/terminal/ranger.nix b/modules/terminal/file-manager.nix similarity index 61% rename from modules/terminal/ranger.nix rename to modules/terminal/file-manager.nix index e688d9f..e65b21f 100644 --- a/modules/terminal/ranger.nix +++ b/modules/terminal/file-manager.nix @@ -8,7 +8,10 @@ { options = { terminal = { - ranger.enable = lib.mkEnableOption "enable ranger"; + ranger = { + enable = lib.mkEnableOption "enable ranger"; + }; + }; }; @@ -18,5 +21,9 @@ enable = true; }; }; + home.packages = with pkgs; [ + unzip + + ]; }; } diff --git a/modules/terminal/toys.nix b/modules/terminal/toys.nix index 5c491eb..a5f40a8 100644 --- a/modules/terminal/toys.nix +++ b/modules/terminal/toys.nix @@ -21,6 +21,6 @@ fastfetch cmatrix astroterm - ] + ]; }; } diff --git a/system/default.nix b/system/default.nix index 6d9de9d..9e40595 100644 --- a/system/default.nix +++ b/system/default.nix @@ -14,5 +14,6 @@ ./localization.nix ./fira-code.nix ./nixos-cli.nix + ./ssh.nix ]; } diff --git a/system/shell.nix b/system/shell.nix index a59c56c..b982793 100644 --- a/system/shell.nix +++ b/system/shell.nix @@ -4,6 +4,7 @@ environment = { systemPackages = with pkgs; [ coreutils + util-linux ]; }; programs.fish.enable = true; diff --git a/system/ssh.nix b/system/ssh.nix new file mode 100644 index 0000000..7e635c3 --- /dev/null +++ b/system/ssh.nix @@ -0,0 +1,13 @@ +{ config, pkgs, ... }: + +{ + services = { + openssh = { + enable = true; + settings = { + PermitRootLogin = "no"; + PasswordAuthentication = false; + }; + }; + }; +} diff --git a/user/default.nix b/user/default.nix index 4a2b282..f15a04a 100644 --- a/user/default.nix +++ b/user/default.nix @@ -27,7 +27,7 @@ config = { users.users.${config.main-user.userName} = { isNormalUser = true; - description = "marty"; + description = "main user"; extraGroups = [ "networkmanager" "wheel"