about summary refs log tree commit diff stats
path: root/hm
diff options
context:
space:
mode:
Diffstat (limited to 'hm')
-rw-r--r--hm/gpg/default.nix16
-rw-r--r--hm/hyfetch/default.nix19
-rw-r--r--hm/mako/default.nix40
-rw-r--r--hm/nixvim/config.nix6
-rw-r--r--hm/packages/default.nix262
-rw-r--r--hm/silas/default.nix11
-rw-r--r--hm/sils/default.nix14
-rw-r--r--hm/ssh/default.nix15
-rw-r--r--hm/waybar/default.nix83
-rw-r--r--hm/zsh/default.nix15
10 files changed, 256 insertions, 225 deletions
diff --git a/hm/gpg/default.nix b/hm/gpg/default.nix
index 2632874..8bbfb22 100644
--- a/hm/gpg/default.nix
+++ b/hm/gpg/default.nix
@@ -7,21 +7,21 @@
     enable = true;
   };
   services.gpg-agent = {
-    enable = true;
+    enable = false;
     defaultCacheTtl = 60 * 50;
     defaultCacheTtlSsh = 60 * 50;
     maxCacheTtl = 60 * 50;
     maxCacheTtlSsh = 60 * 50;
-    pinentryPackage = pkgs.pinentry-curses;
+    pinentry.package = pkgs.pinentry-curses;
     enableSshSupport = true;
     sshKeys = ["4077454831C98FE4BE4A9C167186C5A63615B790"];
   };
-  programs.zsh.initExtraFirst = lib.mkBefore ''
-    current_tty="$(tty)"
-    tty() { echo "$current_tty"; }
-    SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
-    gpg-connect-agent /bye
-  '';
+  #programs.zsh.initContent = lib.mkBefore ''
+  #  current_tty="$(tty)"
+  #  tty() { echo "$current_tty"; }
+  #  SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
+  #  gpg-connect-agent /bye
+  #'';
   #home.sessionVariables = {
   #  GNUPGHOME = lib.mkForce "";
   #};
diff --git a/hm/hyfetch/default.nix b/hm/hyfetch/default.nix
deleted file mode 100644
index 596b26d..0000000
--- a/hm/hyfetch/default.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{...}: {
-  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 = "neofetch";
-      distro = null;
-      pride_month_shown = [];
-    };
-  };
-}
diff --git a/hm/mako/default.nix b/hm/mako/default.nix
deleted file mode 100644
index 503ca1b..0000000
--- a/hm/mako/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{...}: {
-  services.mako = {
-    enable = true;
-    #backgroundColor = "#2e3440";
-    #borderColor = "#88c0d0";
-    borderRadius = 25;
-    borderSize = 2;
-    defaultTimeout = 5000;
-    #font = "Source Code Pro 10";
-    width = 500;
-    height = 500;
-    icons = true;
-    ignoreTimeout = true;
-    layer = "overlay";
-    markup = true; # TODO
-    maxIconSize = 64;
-    sort = "-time";
-    #extraConfig = ''
-    #  [urgency=low]
-    #  border-color=#cccccc
-
-    #  [urgency=normal]
-    #  border-color=#d08770
-
-    #  [urgency=high]
-    #  border-size=3
-    #  border-color=#bf616a
-    #  default-timeout=0
-
-    #  [urgency=critical]
-    #  border-size=4
-    #  border-color=#bf616a
-    #  default-timeout=0
-
-    #  [category=mpd]
-    #  default-timeout=2000
-    #  group-by=category
-    #'';
-  };
-}
diff --git a/hm/nixvim/config.nix b/hm/nixvim/config.nix
index 58753b0..cedf950 100644
--- a/hm/nixvim/config.nix
+++ b/hm/nixvim/config.nix
@@ -78,6 +78,7 @@ pkgs: {
       enable = true;
       settings = {
         powerline_fonts = 1;
+        theme = "base16_black_metal"; #"base16_gruvbox_dark_pale";
       };
     };
     cmp = {
@@ -140,7 +141,7 @@ pkgs: {
     lspkind = {
       enable = true;
 
-      cmp = {
+      settings.cmp = {
         enable = true;
         menu = {
           nvim_lsp = "[LSP]";
@@ -191,6 +192,9 @@ pkgs: {
     };
     vimtex = {
       enable = true;
+      settings = {
+        view_method = "zathura";
+      };
     };
     web-devicons = {
       enable = true;
diff --git a/hm/packages/default.nix b/hm/packages/default.nix
index d37ff18..458d979 100644
--- a/hm/packages/default.nix
+++ b/hm/packages/default.nix
@@ -8,144 +8,144 @@
   pkgs-pinned = nixpkgs-pinned.legacyPackages.${pkgs.system};
 in {
   home.packages = with pkgs;
-  with pkgs.libsForQt5; [
-    godot_4 # gameengine
-    # core tools
-    neofetch # a must-have
-    hyfetch # permanent suggestions have their moments
-    fd # fast find
-    lsd # ls in good
-    ripgrep # amazing grep
-    lf # file manager
-    kitty # terminal
-    alacritty # terminal
-    glow # markdown rendering
-    restic # backups
-    tree # tree view of directories
-    nmap # network scanning
-    rofi-wayland # application launcher
-    wofi # rofi with gtk
-    xdg-utils # mainly used for xdg-openA
-    git-crypt # obscure git repos
-    wl-clipboard # clipboard cli for wayland
-    htop # resource usage
-    exiftool # edit (photo) metadata
-
-    playerctl # for music control in eww
-
-    # notification daemon
-    mako
-    libnotify
-
-    gnome-boxes # virtualisation
-
-    hugo # ssg
-
-    # wallpaper deamon
-    swww
-
-    networkmanagerapplet
-
-    nextcloud-client
-
-    grim # screenshots
-    slurp # select utility
-
-    #database
-    sqlitebrowser # graphical interactive sqlitedb management
-
-    # Hardware
-    sbctl # secure boot management
-
-    # text production/office
-    libreoffice # graphical office suite
-    pdfarranger # gui for pdf arranging
-
-    # LaTeX
-    texlive.combined.scheme-full # LaTeX
-    texlab # latex language server
-
-    pkgs-pinned.calibre # ebook management
-
-    html-tidy # html formatter
-    ltex-ls # lsp language server for languagetool
-
-    musescore # notesetting program
-
-    # communication
-    signal-desktop # the ecosystem is moving :(
-    signal-cli # use signal without phone
-    mumble # voice chat
-    element-desktop # chat
-    tdesktop # telegram messenger
-    thunderbird # emails
-    briar-desktop # privacy first
-
-    # Browser
-    ungoogled-chromium # just in case
-    tor-browser-bundle-bin # tor-browser
-
-    # archives
-    unzip
-    zip
-    _7zz
-
-    qtstyleplugin-kvantum # theming
-
-    # image editing
-    inkscape # vector graphics
-    imagemagick # powerful cli-tool
-
-    # multimedia
-    sayonara # audioplayer
-    vlc # audio and video
-    mpv # videos
-    pulseaudio # audio control
-    imv # image viewing cli
-
-    # Compiler
-    gcc
-    execline
-
-    # Programming Languages
-    jdk # java
-    python39 # python
-
-    # Rust
-    cargo # rust package manager
-    rustfmt # rust formatter
-    rust-analyzer # rust language server
-    rustc # rust compiler
+    [
+      godot_4 # gameengine
+      # core tools
+      neofetch # a must-have
+      lsd # ls in good
+      ripgrep # amazing grep
+      lf # file manager
+      kitty # terminal
+      alacritty # terminal
+      glow # markdown rendering
+      restic # backups
+      tree # tree view of directories
+      nmap # network scanning
+      rofi-wayland # application launcher
+      xdg-utils # mainly used for xdg-openA
+      git-crypt # obscure git repos
+      wl-clipboard # clipboard cli for wayland
+      htop # resource usage
+      exiftool # edit (photo) metadata
 
-    # Nix Stuff
-    alejandra # nix code formatter
-    nil # nix language-server
-    statix # nix linter
+      gimp # image manipulation
 
-    keepassxc # password manager
+      playerctl # for music control in eww
+
+      # notification daemon
+      libnotify
+
+      logseq # structured notes
+
+      gnome-boxes # virtualisation
+
+      hugo # ssg
+
+      # wallpaper deamon
+      swww
+
+      networkmanagerapplet
+
+      nextcloud-client
+
+      grim # screenshots
+      slurp # select utility
+
+      #database
+      sqlitebrowser # graphical interactive sqlitedb management
+
+      # Hardware
+      sbctl # secure boot management
+
+      # text production/office
+      libreoffice # graphical office suite
+      pdfarranger # gui for pdf arranging
+
+      # LaTeX
+      texlive.combined.scheme-full # LaTeX
+      texlab # latex language server
+
+      pkgs-pinned.calibre # ebook management
+
+      html-tidy # html formatter
+      ltex-ls # lsp language server for languagetool
+
+      musescore # notesetting program
+
+      # communication
+      signal-desktop # the ecosystem is moving :(
+      signal-cli # use signal without phone
+      mumble # voice chat
+      element-desktop # chat
+      tdesktop # telegram messenger
+      thunderbird # emails
+      briar-desktop # privacy first
+
+      # Browser
+      ungoogled-chromium # just in case
+      tor-browser-bundle-bin # tor-browser
+
+      # archives
+      unzip
+      zip
+      _7zz
+
+      # image editing
+      inkscape # vector graphics
+      imagemagick # powerful cli-tool
+
+      # multimedia
+      sayonara # audioplayer
+      vlc # audio and video
+      mpv # videos
+      pulseaudio # audio control
+      imv # image viewing cli
+
+      # Compiler
+      gcc
+      execline
+
+      # Programming Languages
+      jdk # java
+      python3 # python
+
+      # Rust
+      cargo # rust package manager
+      rustfmt # rust formatter
+      rust-analyzer # rust language server
+      rustc # rust compiler
 
-    styx # static site generator in nix
-    cmatrix # hacker tool
+      # Nix Stuff
+      alejandra # nix code formatter
+      nil # nix language-server
+      statix # nix linter
 
-    lutris-free # another wine manager
-    wineWowPackages.waylandFull # wine
+      keepassxc # password manager
 
-    okular # pdf viewer
+      #styx # static site generator in nix
+      cmatrix # hacker tool
 
-    # windowmanager
-    nwg-panel
-    brightnessctl # control brightness
-    river
-    yambar
-    swaylock
-    swaybg # wallpaper
-    prismlauncher.packages.${pkgs.system}.prismlauncher # minecraft-launcher
+      lutris-free # another wine manager
+      wineWowPackages.waylandFull # wine
 
-    wl-togglescreens.packages.${pkgs.system}.wl-togglescreens # toggle screens
-    wlr-randr # xrand for wayland, needed by wl-togglescreens
+      # windowmanager
+      nwg-panel
+      brightnessctl # control brightness
+      yambar
+      swaylock
+      swaybg # wallpaper
+      prismlauncher.packages.${pkgs.system}.prismlauncher # minecraft-launcher
+      luanti # gameengine
 
-    # soispha
+      wl-togglescreens.packages.${pkgs.system}.wl-togglescreens # toggle screens
+      wlr-randr # xrand for wayland, needed by wl-togglescreens
 
-    #grades.outputs.packages.${system}.default
-  ];
+      # soispha
+
+      #grades.outputs.packages.${system}.default
+    ]
+    ++ (with pkgs.kdePackages; [
+      okular # pdf viewer
+      qtstyleplugin-kvantum # theming
+    ]);
 }
diff --git a/hm/silas/default.nix b/hm/silas/default.nix
index e108aa4..6c54d0a 100644
--- a/hm/silas/default.nix
+++ b/hm/silas/default.nix
@@ -3,8 +3,6 @@
     ../../modules/hm
     ../gpg
     ../gtk
-    ../hyfetch
-    ../mako
     ../nixvim
     ../packages
     ../rofi
@@ -16,7 +14,7 @@
     ../waybar
     ../xdg
     ../zsh
-    nixvim.homeManagerModules.nixvim
+    nixvim.homeModules.nixvim
   ];
 
   home = {
@@ -29,17 +27,24 @@
     bat.enable = true;
     direnv.enable = true;
     etesync-dav.enable = true;
+    fd.enable = true;
+    fastfetch.enable = true;
     firefox.enable = true;
     foot.enable = true;
+    ghostty.enable = true;
     git.enable = true;
+    hyfetch.enable = true;
     hyprland.enable = true;
+    iamb.enable = true;
     jameica.enable = true;
     kdeconnect.enable = true;
     mail.enable = true;
     nextcloud.enable = true;
     sway.enable = true;
+    theming.enable = true;
     yt-dlp.enable = true;
     zathura.enable = true;
+    zellij.enable = true;
   };
   programs.home-manager.enable = true;
 }
diff --git a/hm/sils/default.nix b/hm/sils/default.nix
index a078a7b..bd3ccf6 100644
--- a/hm/sils/default.nix
+++ b/hm/sils/default.nix
@@ -3,8 +3,6 @@
     ../../modules/hm
     ../gpg
     ../gtk
-    ../hyfetch
-    ../mako
     ../nixvim
     ../packages
     ../rofi
@@ -16,7 +14,7 @@
     ../waybar
     ../xdg
     ../zsh
-    nixvim.homeManagerModules.nixvim
+    nixvim.homeModules.nixvim
   ];
 
   home = {
@@ -29,17 +27,27 @@
     bat.enable = true;
     direnv.enable = true;
     etesync-dav.enable = true;
+    fd.enable = true;
+    fastfetch.enable = true;
     firefox.enable = true;
     foot.enable = true;
+    ghostty.enable = true;
     git.enable = true;
+    hyfetch.enable = true;
     hyprland.enable = true;
+    iamb.enable = true;
     jameica.enable = true;
     kdeconnect.enable = true;
     mail.enable = true;
     nextcloud.enable = true;
+    poweralertd.enable = true;
     sway.enable = true;
+    swaync.enable = true;
+    theming.enable = true;
+    wofi.enable = true;
     yt-dlp.enable = true;
     zathura.enable = true;
+    zellij.enable = true;
   };
   programs.home-manager.enable = true;
 }
diff --git a/hm/ssh/default.nix b/hm/ssh/default.nix
index c7b8e20..d123a6a 100644
--- a/hm/ssh/default.nix
+++ b/hm/ssh/default.nix
@@ -1,8 +1,9 @@
 {...}: {
-  services.ssh-agent.enable = false;
+  services.ssh-agent.enable = true;
 
   programs.ssh = {
     enable = true;
+    enableDefaultConfig = false;
     matchBlocks = let
       genBox = user: {
         inherit user;
@@ -10,6 +11,18 @@
       };
       username = "u384702";
     in {
+      "*" = {
+        forwardAgent = false;
+        addKeysToAgent = "no";
+        compression = false;
+        serverAliveInterval = 0;
+        serverAliveCountMax = 3;
+        hashKnownHosts = false;
+        userKnownHostsFile = "~/.ssh/known_hosts";
+        controlMaster = "no";
+        controlPath = "~/.ssh/master-%r@%n:%p";
+        controlPersist = "no";
+      };
       "storagebox" = genBox username;
       "storagebox-1" = genBox "${username}-sub1";
     };
diff --git a/hm/waybar/default.nix b/hm/waybar/default.nix
index 18b659c..201e15d 100644
--- a/hm/waybar/default.nix
+++ b/hm/waybar/default.nix
@@ -5,9 +5,19 @@
       mainBar = {
         layer = "top";
         position = "top";
-        modules-left = ["hyprland/workspaces" "clock"];
+        modules-left = [
+          "hyprland/workspaces"
+          "clock"
+        ];
         modules-center = ["hyprland/window"];
-        modules-right = ["pulseaudio" "network" "backlight" "battery" "tray"];
+        modules-right = [
+          "pulseaudio"
+          "network"
+          "backlight"
+          "battery"
+          "custom/notification"
+          "tray"
+        ];
 
         "hyprland/workspaces" = {
           disable-scroll = false;
@@ -27,7 +37,11 @@
         pulseaudio = {
           format = " {icon} ";
           format-muted = "ﱝ";
-          format-icons = ["奄" "奔" "墳"];
+          format-icons = [
+            "奄"
+            "奔"
+            "墳"
+          ];
           tooltip = true;
           tooltip-format = "{volume}%";
         };
@@ -43,7 +57,17 @@
         backlight = {
           device = "intel_backlight";
           format = "{icon}";
-          format-icons = ["" "" "" "" "" "" "" "" ""];
+          format-icons = [
+            ""
+            ""
+            ""
+            ""
+            ""
+            ""
+            ""
+            ""
+            ""
+          ];
           tooltip = true;
           tooltip-format = "{percent}%";
         };
@@ -52,11 +76,30 @@
           states = {
             warning = 30;
             critical = 15;
+            catastrophic = 10;
+          };
+          events = {
+            on-discharging-warning = "${pkgs.libnotify}/bin/notify-send -u normal 'Low Battery'";
+            on-discharging-critical = "${pkgs.libnotify}/bin/notify-send -u critical 'Very Low Battery' 'Hibernating soon'";
+            on-discharging-catastrophic = "${pkgs.libnotify}/bin/notify-send -u critical 'Very Low Battery' 'Hibernating now' && sleep 30 && ${pkgs.systemd}/bin/systemctl hibernate --check-inhibitors=no";
           };
           format = "{capacity}% {icon}";
           format-charging = "";
           format-plugged = "";
-          format-icons = ["" "" "" "" "" "" "" "" "" "" "" ""];
+          format-icons = [
+            ""
+            ""
+            ""
+            ""
+            ""
+            ""
+            ""
+            ""
+            ""
+            ""
+            ""
+            ""
+          ];
           tooltip = true;
           tooltip-format = "{capacity}%";
         };
@@ -71,15 +114,33 @@
           tooltip-format = ''
             <big>{:%Y %B}</big>
             <tt><small>{calendar}</small></tt>'';
-          format-alt = ''
-            {:%d %m %Y}'';
-          format = ''
-            {:%H %M}'';
+          format-alt = ''{:%d %m %Y}'';
+          format = ''{:%H %M}'';
         };
 
         tray = {
-          icon-size = 21;
-          spacing = 10;
+          icon-size = 10;
+          spacing = 5;
+        };
+        "custom/notification" = {
+          tooltip = false;
+          format = "{icon}";
+          format-icons = {
+            notification = " ";
+            none = " ";
+            dnd-notification = " ";
+            dnd-none = " ";
+            inhibited-notification = " ";
+            inhibited-none = " ";
+            dnd-inhibited-notification = " ";
+            dnd-inhibited-none = " ";
+          };
+          return-type = "json";
+          exec-if = "which swaync-client";
+          exec = "swaync-client -swb";
+          on-click = "swaync-client -t -sw";
+          on-click-right = "swaync-client -d -sw";
+          escape = true;
         };
       };
     };
diff --git a/hm/zsh/default.nix b/hm/zsh/default.nix
index 684493f..899bce5 100644
--- a/hm/zsh/default.nix
+++ b/hm/zsh/default.nix
@@ -2,6 +2,7 @@
   config,
   pkgs,
   self,
+  lib,
   ...
 }: {
   programs.zsh = {
@@ -12,7 +13,7 @@
     enableCompletion = true;
 
     autocd = true;
-    dotDir = ".config/zsh";
+    dotDir = "${config.xdg.configHome}/zsh";
 
     history = {
       path = "${config.xdg.stateHome}/zsh/zsh_history";
@@ -61,12 +62,10 @@
       addapache = "curl https://www.apache.org/licenses/LICENSE-2.0.txt > LICENSE";
     };
 
-    initExtraFirst =
-      builtins.readFile ./config/instant-prompt.zsh
-      + "source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme";
-    # +
-    initExtra =
-      ''
+    initContent = lib.mkBefore (builtins.readFile ./config/instant-prompt.zsh
+      + "source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme"
+      + ''
+
         rm -rf ~/.mozilla/firefox/default/containers.json.backup
 
         export ZSH=${pkgs.oh-my-zsh}/share/oh-my-zsh/
@@ -80,6 +79,6 @@
           source $ZSH/oh-my-zsh.sh
       ''
       + builtins.readFile ./config/p10k.zsh
-      + builtins.readFile ./config/functions.zsh;
+      + builtins.readFile ./config/functions.zsh);
   };
 }