diff options
Diffstat (limited to 'modules')
-rw-r--r-- | modules/hm/sils/default.nix | 7 | ||||
-rw-r--r-- | modules/hm/sils/fastfetch.nix | 16 | ||||
-rw-r--r-- | modules/hm/sils/fd.nix | 17 | ||||
-rw-r--r-- | modules/hm/sils/firefox/default.nix | 5 | ||||
-rw-r--r-- | modules/hm/sils/ghostty.nix | 15 | ||||
-rw-r--r-- | modules/hm/sils/git.nix | 4 | ||||
-rw-r--r-- | modules/hm/sils/hyfetch.nix | 31 | ||||
-rw-r--r-- | modules/hm/sils/hyprland.nix | 37 | ||||
-rw-r--r-- | modules/hm/sils/iamb.nix | 38 | ||||
-rw-r--r-- | modules/hm/sils/mail.nix | 4 | ||||
-rw-r--r-- | modules/hm/sils/theming.nix | 24 | ||||
-rw-r--r-- | modules/hm/sils/zellij.nix | 14 | ||||
-rw-r--r-- | modules/nixos/sils/default.nix | 2 | ||||
-rw-r--r-- | modules/nixos/sils/docker.nix | 24 | ||||
-rw-r--r-- | modules/nixos/sils/impermanence.nix | 6 | ||||
-rw-r--r-- | modules/nixos/sils/printing.nix | 23 | ||||
-rw-r--r-- | modules/nixos/sils/roles.nix | 3 | ||||
-rw-r--r-- | modules/nixos/sils/sound.nix | 20 |
18 files changed, 271 insertions, 19 deletions
diff --git a/modules/hm/sils/default.nix b/modules/hm/sils/default.nix index a3ff1ed..03cfaef 100644 --- a/modules/hm/sils/default.nix +++ b/modules/hm/sils/default.nix @@ -3,16 +3,23 @@ ./bat.nix ./direnv.nix ./etesync-dav.nix + ./fd.nix + ./fastfetch.nix ./firefox ./foot.nix + ./ghostty.nix ./git.nix + ./hyfetch.nix ./hyprland.nix + ./iamb.nix ./jameica.nix ./kdeconnect.nix ./mail.nix ./nextcloud.nix ./sway.nix + ./theming.nix ./yt-dlp.nix ./zathura.nix + ./zellij.nix ]; } diff --git a/modules/hm/sils/fastfetch.nix b/modules/hm/sils/fastfetch.nix new file mode 100644 index 0000000..f3efcab --- /dev/null +++ b/modules/hm/sils/fastfetch.nix @@ -0,0 +1,16 @@ +{ + config, + lib, + ... +}: let + cfg = config.sils.fastfetch; +in { + options.sils.fastfetch = { + enable = lib.mkEnableOption "fastfetch"; + }; + config = lib.mkIf cfg.enable { + programs.fastfetch = { + enable = true; + }; + }; +} diff --git a/modules/hm/sils/fd.nix b/modules/hm/sils/fd.nix new file mode 100644 index 0000000..7f8e35c --- /dev/null +++ b/modules/hm/sils/fd.nix @@ -0,0 +1,17 @@ +{ + config, + lib, + ... +}: let + cfg = config.sils.fd; +in { + options.sils.fd = { + enable = lib.mkEnableOption "fd, a fast find alternative"; + }; + + config = lib.mkIf cfg.enable { + programs.fd = { + enable = true; + }; + }; +} diff --git a/modules/hm/sils/firefox/default.nix b/modules/hm/sils/firefox/default.nix index b877c34..43d21b1 100644 --- a/modules/hm/sils/firefox/default.nix +++ b/modules/hm/sils/firefox/default.nix @@ -17,6 +17,7 @@ in { enable = lib.mkEnableOption "opinionated firefox configuration"; }; config = lib.mkIf cfg.enable { + stylix.targets.firefox.profileNames = ["default"]; programs.firefox = { enable = true; profiles = { @@ -38,8 +39,8 @@ in { isDefault = true; name = "default"; search = { - default = "DuckDuckGo"; - privateDefault = "DuckDuckGo"; + default = "ddg"; + privateDefault = "ddg"; force = true; }; }; diff --git a/modules/hm/sils/ghostty.nix b/modules/hm/sils/ghostty.nix new file mode 100644 index 0000000..cd871bc --- /dev/null +++ b/modules/hm/sils/ghostty.nix @@ -0,0 +1,15 @@ +{ + config, + lib, + ... +}: let + cfg = config.sils.ghostty; +in { + options.sils.ghostty.enable = lib.mkEnableOption "the ghostty terminal emulator"; + config = lib.mkIf cfg.enable { + programs.ghostty = { + enable = true; + enableZshIntegration = true; + }; + }; +} diff --git a/modules/hm/sils/git.nix b/modules/hm/sils/git.nix index 5bd4dd2..61093ac 100644 --- a/modules/hm/sils/git.nix +++ b/modules/hm/sils/git.nix @@ -27,7 +27,7 @@ in { }; signing = { key = "467B7D129EA73AC9"; - signByDefault = true; + signByDefault = false; }; extraConfig = { core = { @@ -46,7 +46,7 @@ in { verbose = true; }; sendemail = { - smtpserver = "server1.vhack.eu"; + smtpserver = "mail.foss-syndicate.org"; smtpuser = "sils@sils.li"; smtpencryption = "ssl"; smtpserverport = "465"; diff --git a/modules/hm/sils/hyfetch.nix b/modules/hm/sils/hyfetch.nix new file mode 100644 index 0000000..c06d8b0 --- /dev/null +++ b/modules/hm/sils/hyfetch.nix @@ -0,0 +1,31 @@ +{ + config, + lib, + ... +}: let + cfg = config.sils.hyfetch; +in { + options.sils.hyfetch = { + enable = lib.mkEnableOption "hyfetch"; + }; + + config = lib.mkIf cfg.enable { + programs.hyfetch = { + enable = true; + settings = { + preset = "rainbow"; + mode = "rgb"; + light_dark = "dark"; + lightness = 0.5; + color_align = { + mode = "horizontal"; + custom_colors = []; + fore_back = null; + }; + backend = "fastfetch"; + distro = null; + pride_month_shown = []; + }; + }; + }; +} diff --git a/modules/hm/sils/hyprland.nix b/modules/hm/sils/hyprland.nix index 39f0920..4de6524 100644 --- a/modules/hm/sils/hyprland.nix +++ b/modules/hm/sils/hyprland.nix @@ -9,6 +9,14 @@ in { options.sils.hyprland.enable = lib.mkEnableOption "sils hyprland config"; config = lib.mkIf cfg.enable { + home.pointerCursor = { + enable = true; + name = "Adwaita"; + gtk.enable = true; + x11.enable = true; + size = 24; + package = pkgs.adwaita-icon-theme; + }; wayland.windowManager.hyprland = { enable = true; settings = { @@ -23,6 +31,10 @@ in { # Source a file (multi-file configs) # source = ~/.config/hypr/myColors.conf + ecosystem = { + no_update_news = true; + }; + # Some default env vars. env = "XCURSOR_SIZE,24"; @@ -118,7 +130,7 @@ in { # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more bind = [ - "$mainMod, T, exec, foot" + "$mainMod, T, exec, ghostty" "$mainMod, C, killactive, " "$mainMod, M, exit, " "$mainMod, E, exec, dolphin " @@ -138,16 +150,16 @@ in { "$mainMod, down, movefocus, d" # Switch workspaces with mainMod + [0-9] - "$mainMod, 1, focusworkspaceoncurrentmonitor, 1" - "$mainMod, 2, focusworkspaceoncurrentmonitor, 2" - "$mainMod, 3, focusworkspaceoncurrentmonitor, 3" - "$mainMod, 4, focusworkspaceoncurrentmonitor, 4" - "$mainMod, 5, focusworkspaceoncurrentmonitor, 5" - "$mainMod, 6, focusworkspaceoncurrentmonitor, 6" - "$mainMod, 7, focusworkspaceoncurrentmonitor, 7" - "$mainMod, 8, focusworkspaceoncurrentmonitor, 8" - "$mainMod, 9, focusworkspaceoncurrentmonitor, 9" - "$mainMod, 0, focusworkspaceoncurrentmonitor, 10" + "$mainMod, 1, workspace, 1" + "$mainMod, 2, workspace, 2" + "$mainMod, 3, workspace, 3" + "$mainMod, 4, workspace, 4" + "$mainMod, 5, workspace, 5" + "$mainMod, 6, workspace, 6" + "$mainMod, 7, workspace, 7" + "$mainMod, 8, workspace, 8" + "$mainMod, 9, workspace, 9" + "$mainMod, 0, workspace, 10" # Move active window to a workspace with mainMod + SHIFT + [0-9] "$mainMod SHIFT, 1, movetoworkspace, 1" @@ -186,8 +198,9 @@ in { #exec-once=bash ~/.config/hypr/start.sh #exec-once=swww init & exec-once = [ + "${pkgs.hyprland}/bin/hyprctl ${config.home.pointerCursor.name} ${toString config.home.pointerCursor.size}" #"${pkgs.nwg-panel}/bin/nwg-panel" - #"nm-applet --indicator" + "${pkgs.networkmanagerapplet}/bin/nm-applet --indicator" #"${pkgs.waybar}/bin/waybar" "${pkgs.mako}/bin/mako" "${pkgs.swaybg}/bin/swaybg -i ${self}/files/wallpaper.jpg" diff --git a/modules/hm/sils/iamb.nix b/modules/hm/sils/iamb.nix new file mode 100644 index 0000000..2c6932a --- /dev/null +++ b/modules/hm/sils/iamb.nix @@ -0,0 +1,38 @@ +{ + config, + lib, + ... +}: let + cfg = config.sils.iamb; +in { + options = { + sils.iamb.enable = lib.mkEnableOption "iamb, a matrix tui client"; + }; + config = lib.mkIf cfg.enable { + programs.iamb = { + enable = true; + settings = { + profiles = { + ljs = { + user_id = "@sils:linksjugend-solid.de"; + url = "https://matrix.bak-it.de"; + }; + vhack = { + user_id = "@sils:vhack.eu"; + url = "https://matrix.vhack.eu"; + }; + }; + settings = { + notifications.enabled = true; + image_preview.protocol = { + type = "kitty"; + size = { + height = 10; + width = 66; + }; + }; + }; + }; + }; + }; +} diff --git a/modules/hm/sils/mail.nix b/modules/hm/sils/mail.nix index 06f6917..85583a2 100644 --- a/modules/hm/sils/mail.nix +++ b/modules/hm/sils/mail.nix @@ -6,11 +6,11 @@ }: let cfg = config.sils.mail; vhackImap = { - host = "server1.vhack.eu"; + host = "mail.foss-syndicate.org"; port = 993; }; vhackSmtp = { - host = "server1.vhack.eu"; + host = "mail.foss-syndicate.org"; port = 993; }; in { diff --git a/modules/hm/sils/theming.nix b/modules/hm/sils/theming.nix new file mode 100644 index 0000000..958560d --- /dev/null +++ b/modules/hm/sils/theming.nix @@ -0,0 +1,24 @@ +{ + config, + lib, + pkgs, + ... +}: let + cfg = config.sils.theming; +in { + options.sils.theming.enable = lib.mkEnableOption "theming"; + config = lib.mkIf cfg.enable { + stylix = { + enable = true; + iconTheme = { + enable = true; + dark = "Papirus-dark"; + light = "Papirus-light"; + package = pkgs.catppuccin-papirus-folders.override { + flavor = "mocha"; + accent = "mauve"; + }; + }; + }; + }; +} diff --git a/modules/hm/sils/zellij.nix b/modules/hm/sils/zellij.nix new file mode 100644 index 0000000..1038a0c --- /dev/null +++ b/modules/hm/sils/zellij.nix @@ -0,0 +1,14 @@ +{ + config, + lib, + ... +}: let + cfg = config.sils.zellij; +in { + options.sils.zellij.enable = lib.mkEnableOption "zellij"; + config = lib.mkIf cfg.enable { + programs.zellij = { + enable = true; + }; + }; +} diff --git a/modules/nixos/sils/default.nix b/modules/nixos/sils/default.nix index 0f714f7..01870c8 100644 --- a/modules/nixos/sils/default.nix +++ b/modules/nixos/sils/default.nix @@ -5,6 +5,7 @@ ./bluetooth.nix ./bootloader.nix ./disks.nix + ./docker.nix ./environment.nix ./firejail.nix ./font.nix @@ -19,6 +20,7 @@ ./plymouth.nix ./printing.nix ./roles.nix + ./sound.nix ./sudo.nix ./sway.nix ./theming diff --git a/modules/nixos/sils/docker.nix b/modules/nixos/sils/docker.nix new file mode 100644 index 0000000..7d6f046 --- /dev/null +++ b/modules/nixos/sils/docker.nix @@ -0,0 +1,24 @@ +{ + config, + lib, + ... +}: let + cfg = config.sils.docker; +in { + options.sils.docker.enable = lib.mkEnableOption "docker"; + config = lib.mkIf cfg.enable { + virtualisation.docker = { + enable = true; + storageDriver = "btrfs"; + }; + users.users.sils.extraGroups = ["docker"]; + environment.persistence."/srv".directories = [ + { + directory = "/var/lib/docker"; + user = "docker"; + group = "docker"; + mode = "0755"; + } + ]; + }; +} diff --git a/modules/nixos/sils/impermanence.nix b/modules/nixos/sils/impermanence.nix index 4acdc6f..cf67a91 100644 --- a/modules/nixos/sils/impermanence.nix +++ b/modules/nixos/sils/impermanence.nix @@ -32,6 +32,12 @@ in { group = "root"; mode = "0755"; } + { + directory = "/var/log"; + user = "root"; + group = "root"; + mode = "0755"; + } ]; }; } diff --git a/modules/nixos/sils/printing.nix b/modules/nixos/sils/printing.nix index d447255..9247146 100644 --- a/modules/nixos/sils/printing.nix +++ b/modules/nixos/sils/printing.nix @@ -11,12 +11,33 @@ in { services = { printing = { enable = true; - #drivers = with pkgs; [hplip]; # if building again: epson-escpr + startWhenNeeded = true; + webInterface = true; + stateless = true; + drivers = with pkgs; [epson-escpr epson-escpr2 hplip]; }; avahi = { enable = true; + nssmdns4 = true; + nssmdns6 = true; openFirewall = true; }; }; + + hardware.printers = { + ensureDefaultPrinter = "EPSON_ET-2720_Series"; + ensurePrinters = [ + { + name = "EPSON_ET-2720_Series"; + description = "EPSON ET-2720 Series"; + model = "epson-inkjet-printer-escpr/Epson-ET-2720_Series-epson-escpr-en.ppd"; + location = "Home Network"; + deviceUri = "dnssd://EPSON%20ET-2720%20Series._ipp._tcp.local/?uuid=cfe92100-67c4-11d4-a45f-e0bb9edcdbb9"; + ppdOptions = { + PageSize = "A4"; + }; + } + ]; + }; }; } diff --git a/modules/nixos/sils/roles.nix b/modules/nixos/sils/roles.nix index cca3cf6..346149c 100644 --- a/modules/nixos/sils/roles.nix +++ b/modules/nixos/sils/roles.nix @@ -24,6 +24,7 @@ in { pamconfig.enable = lib.mkDefault true; plymouth.enable = lib.mkDefault true; printing.enable = lib.mkDefault true; + sound.enable = lib.mkDefault true; sway.enable = lib.mkDefault false; theming.enable = lib.mkDefault true; } @@ -45,6 +46,7 @@ in { pamconfig.enable = lib.mkDefault true; plymouth.enable = lib.mkDefault false; printing.enable = lib.mkDefault true; + sound.enable = lib.mkDefault true; sway.enable = lib.mkDefault false; theming.enable = lib.mkDefault true; } @@ -68,6 +70,7 @@ in { pamconfig.enable = lib.mkDefault true; plymouth.enable = lib.mkDefault false; printing.enable = lib.mkDefault true; + sound.enable = lib.mkDefault true; sway.enable = lib.mkDefault false; theming.enable = lib.mkDefault true; } diff --git a/modules/nixos/sils/sound.nix b/modules/nixos/sils/sound.nix new file mode 100644 index 0000000..3ad26fb --- /dev/null +++ b/modules/nixos/sils/sound.nix @@ -0,0 +1,20 @@ +{ + config, + lib, + ... +}: let + cfg = config.sils.sound; +in { + options.sils.sound.enable = lib.mkEnableOption "sound config"; + config = lib.mkIf cfg.enable { + services.pipewire = { + enable = true; + alsa = { + enable = true; + support32Bit = true; + }; + pulse.enable = true; + jack.enable = true; + }; + }; +} |