diff options
| author | Mike Vink <mike1994vink@gmail.com> | 2023-10-07 01:33:26 +0200 |
|---|---|---|
| committer | Mike Vink <mike1994vink@gmail.com> | 2023-10-07 01:33:26 +0200 |
| commit | a2cbf737e78051c2cb10eeaf4a5dccc19d6348ba (patch) | |
| tree | f53ab92a0c94926e92117891eb87f19cafaa536c | |
| parent | cfaef26e8718916adcc68fbfb63b15f2389b2cd2 (diff) | |
first working
| -rw-r--r-- | .gitmodules | 2 | ||||
| -rw-r--r-- | flake.nix | 34 | ||||
| -rw-r--r-- | lib/default.nix | 2 | ||||
| -rw-r--r-- | lib/my.nix | 15 | ||||
| m--------- | mut/dwm | 0 | ||||
| m--------- | mut/dwmblocks | 0 | ||||
| -rw-r--r-- | mut/kak-lsp/kak-lsp.toml (renamed from profiles/station/kak-lsp.toml) | 0 | ||||
| m--------- | mut/st | 0 | ||||
| -rw-r--r-- | overlays/suckless.nix | 6 | ||||
| -rw-r--r-- | profiles/core/git.nix | 20 | ||||
| -rw-r--r-- | profiles/core/hm.nix | 4 | ||||
| -rw-r--r-- | profiles/core/home.nix | 221 | ||||
| -rw-r--r-- | profiles/email/gmail.nix | 172 | ||||
| -rw-r--r-- | profiles/email/mailsync.nix | 32 | ||||
| -rw-r--r-- | profiles/email/neomutt.nix | 46 | ||||
| -rw-r--r-- | profiles/email/notmuch.nix | 10 | ||||
| -rw-r--r-- | profiles/station/codeium.nix | 24 | ||||
| -rw-r--r-- | profiles/station/kakoune.nix | 33 | ||||
| -rw-r--r-- | profiles/station/meta.nix | 4 | ||||
| -rw-r--r-- | profiles/station/mpv.nix | 2 | ||||
| -rw-r--r-- | profiles/station/neovim.nix | 166 | ||||
| -rw-r--r-- | profiles/station/newsboat.nix | 50 | ||||
| -rw-r--r-- | profiles/station/packages.nix | 17 | ||||
| -rw-r--r-- | profiles/station/suckless.nix | 108 | ||||
| -rw-r--r-- | profiles/station/zathura.nix | 8 |
25 files changed, 490 insertions, 486 deletions
diff --git a/.gitmodules b/.gitmodules index 83fdce4..d58b6d9 100644 --- a/.gitmodules +++ b/.gitmodules @@ -5,5 +5,5 @@ path = mut/st url = https://github.com/mvinkio/st [submodule "mut/dwmblocks"] - path = home/dwmblocks + path = mut/dwmblocks url = https://github.com/mvinkio/dwmblocks @@ -4,7 +4,10 @@ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; sops-nix.url = "github:Mic92/sops-nix"; - home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; + home-manager = { + url = "github:nix-community/home-manager"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = inputs@{ @@ -15,25 +18,22 @@ ... }: let system = "x86_64-linux"; - overlay = nixpkgs.lib.composeManyExtensions [ - (import ./overlays/vimPlugins.nix {inherit pkgs;}) - (import ./overlays/suckless.nix {inherit pkgs;}) - ]; - pkgs = import nixpkgs { - overlays = [ - overlay - ]; - inherit system; - }; + pkgs = import nixpkgs {inherit system;}; lib = (nixpkgs.lib.extend (_: _: home-manager.lib)).extend (import ./lib); in with lib; { inherit lib; nixosConfigurations.lemptop = nixpkgs.lib.nixosSystem { - inherit system; + inherit lib system; + specialArgs = {inherit inputs;}; modules = [ - ./nixos/configuration.nix - ./nixos/lemptop.nix + ({config, ... }: { + nixpkgs.overlays = with lib; [(composeManyExtensions [ + (import ./overlays/vimPlugins.nix {inherit pkgs;}) + (import ./overlays/suckless.nix {inherit pkgs; home = config.users.users.mike.home;}) + ])]; + }) + ./machines/lemptop.nix ] ++ (attrValues (attrsets.mergeAttrsList [ (modulesIn ./profiles/core) @@ -45,15 +45,15 @@ templates = { default = { path = ./templates/flake; - description = "Flake with python and go stuff"; + description = "Python and go stuff"; }; ansible = { path = ./templates/ansible; - description = "Flake with ansible and shellhook to login to awx"; + description = "Ansible and shellhook to login to awx"; }; go = { path = ./templates/go; - description = "Flake with go, gotools, and gofumpt"; + description = "Go, gotools, and gofumpt"; }; }; }; diff --git a/lib/default.nix b/lib/default.nix index 196b76b..6375d5b 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -16,4 +16,6 @@ lib: prev: with lib; { # Collects the inputs of a flake recursively (with possible duplicates). collectFlakeInputs = input: [ input ] ++ concatMap collectFlakeInputs (builtins.attrValues (input.inputs or {})); + + my = import ./my.nix lib; } diff --git a/lib/my.nix b/lib/my.nix new file mode 100644 index 0000000..500a1d7 --- /dev/null +++ b/lib/my.nix @@ -0,0 +1,15 @@ +lib: with lib; let + modules = [ + { + config = { + _module.freeformType = with types; attrs; + + username = "mivi"; + githubUsername = "mvinkio"; + realName = "Mike Vink"; + domain = "vinkland.xyz"; + email = "mike1994vink@gmail.com"; + }; + } + ]; +in (evalModules { inherit modules; }).config diff --git a/mut/dwm b/mut/dwm new file mode 160000 +Subproject 8aba66977b5f5234e252ce0df0ebc8f205cad20 diff --git a/mut/dwmblocks b/mut/dwmblocks new file mode 160000 +Subproject 50f519c335008abe52bab6a21db09df14076e36 diff --git a/profiles/station/kak-lsp.toml b/mut/kak-lsp/kak-lsp.toml index b0592cf..b0592cf 100644 --- a/profiles/station/kak-lsp.toml +++ b/mut/kak-lsp/kak-lsp.toml diff --git a/mut/st b/mut/st new file mode 160000 +Subproject e03a7d3f0b6bf4028389a82d372d0f89a922b9d diff --git a/overlays/suckless.nix b/overlays/suckless.nix index 199a449..be12405 100644 --- a/overlays/suckless.nix +++ b/overlays/suckless.nix @@ -1,15 +1,15 @@ {pkgs, home, ...}: (final: prev: { st = (prev.st.overrideAttrs (oldAttrs: rec { - src = /. + home + "/flake/home/st"; + src = /. + home + "/flake/mut/st"; buildInputs = oldAttrs.buildInputs ++ [prev.harfbuzz]; })); dwm = (prev.dwm.overrideAttrs (oldAttrs: rec { - src = /. + home + "/flake/home/dwm"; + src = /. + home + "/flake/mut/dwm"; })); dwmblocks =(prev.stdenv.mkDerivation rec { pname = "dwmblocks"; version = "1.0"; - src = /. + home + "/flake/home/dwmblocks"; + src = /. + home + "/flake/mut/dwmblocks"; buildInputs = [prev.xorg.libX11]; installPhase = '' install -m755 -D dwmblocks $out/bin/dwmblocks diff --git a/profiles/core/git.nix b/profiles/core/git.nix new file mode 100644 index 0000000..84b165a --- /dev/null +++ b/profiles/core/git.nix @@ -0,0 +1,20 @@ +{config, ...}: { + hm = { + programs.git = { + enable = true; + userName = "Mike Vink"; + userEmail = "mike1994vink@gmail.com"; + extraConfig = { + worktree.guessRemote = true; + mergetool.fugitive.cmd = "vim -f -c \"Gdiff\" \"$MERGED\""; + merge.tool = "fugitive"; + }; + ignores = [ + "/.direnv/" + "/.envrc" + "/.env" + ".vimsession.vim" + ]; + }; + }; +} diff --git a/profiles/core/hm.nix b/profiles/core/hm.nix index e1a29d6..5e56fed 100644 --- a/profiles/core/hm.nix +++ b/profiles/core/hm.nix @@ -1,7 +1,7 @@ -{inputs, config, lib, ...}: { +{inputs, config, lib, ...}: with lib; { imports = [ inputs.home-manager.nixosModules.default - (mkAliasOptionModule [ "hm" ] [ "home-manager" "users" my.username ]) + (mkAliasOptionModule [ "hm" ] [ "home-manager" "users" "mike" ]) ]; system.extraDependencies = collectFlakeInputs inputs.home-manager; diff --git a/profiles/core/home.nix b/profiles/core/home.nix index 5d57f76..4399fe9 100644 --- a/profiles/core/home.nix +++ b/profiles/core/home.nix @@ -1,41 +1,38 @@ -{ + { inputs, config, pkgs, ... }: { - programs.home-manager.enable = true; - home.homeDirectory = "/home/${username}"; - home.username = username; - home.stateVersion = "23.05"; - fonts.fontconfig.enable = true; - xdg = { - enable = true; - configFile = with config.lib.meta; { - "emacs/init.el".source = mkMutableSymlink ./emacs/init.el; - }; - mimeApps = { + hm = { + fonts.fontconfig.enable = true; + xdg = { + enable = true; + configFile = with config.lib.meta; { + "emacs/init.el".source = mkMutableSymlink ./emacs/init.el; + }; + mimeApps = { enable = true; defaultApplications = { - "text/x-shellscript" = ["text.desktop"]; - "x-scheme-handler/magnet" = ["torrent.desktop"]; - "application/x-bittorrent" = ["torrent.desktop"]; - "x-scheme-handler/mailto" = ["mail.desktop"]; - "text/plain" = ["text.desktop"]; - "application/postscript" = ["pdf.desktop"]; - "application/pdf" = ["pdf.desktop"]; - "image/png" = ["img.desktop"]; - "image/jpeg" = ["img.desktop"]; - "image/gif" = ["img.desktop"]; - "application/rss+xml" = ["rss.desktop"]; - "video/x-matroska" = ["video.desktop"]; - "video/mp4" = ["video.desktop"]; - "x-scheme-handler/lbry" = ["lbry.desktop"]; - "inode/directory" = ["file.desktop"]; + "text/x-shellscript" = ["text.desktop"]; + "x-scheme-handler/magnet" = ["torrent.desktop"]; + "application/x-bittorrent" = ["torrent.desktop"]; + "x-scheme-handler/mailto" = ["mail.desktop"]; + "text/plain" = ["text.desktop"]; + "application/postscript" = ["pdf.desktop"]; + "application/pdf" = ["pdf.desktop"]; + "image/png" = ["img.desktop"]; + "image/jpeg" = ["img.desktop"]; + "image/gif" = ["img.desktop"]; + "application/rss+xml" = ["rss.desktop"]; + "video/x-matroska" = ["video.desktop"]; + "video/mp4" = ["video.desktop"]; + "x-scheme-handler/lbry" = ["lbry.desktop"]; + "inode/directory" = ["file.desktop"]; }; - }; - mime.enable = true; - desktopEntries = { + }; + mime.enable = true; + desktopEntries = { text= { type = "Application"; name = "Text editor"; exec = "${pkgs.st}/bin/st -e kak %u"; }; file = { type = "Application"; name = "File Manager"; exec = "${pkgs.st}/bin/st -e lfub %u"; }; torrent = { type = "Application"; name = "Torrent"; exec = "${pkgs.coreutils}/bin/env transadd %U"; }; @@ -44,39 +41,39 @@ mail = { type = "Application"; name = "Mail"; exec = "${pkgs.st}/bin/st -e neomutt %u"; }; pdf = { type = "Application"; name = "PDF reader"; exec = "${pkgs.zathura}/bin/zathura %u"; }; rss = { type = "Application"; name = "RSS feed addition"; exec = "${pkgs.coreutils}/bin/env rssadd %u"; }; + }; }; - }; - programs.ssh = { - enable = true; - matchBlocks = { - "*" = { - identityFile = "${config.home.homeDirectory}/.ssh/id_ed25519"; + programs.ssh = { + enable = true; + matchBlocks = { + "*" = { + identityFile = "${config.users.users.mike.home}/.ssh/id_ed25519"; + }; }; }; - }; - home.sessionVariables = { - EDITOR = "kak"; - TERMINAL = "st"; - }; + home.sessionVariables = { + EDITOR = "kak"; + TERMINAL = "st"; + }; - home.sessionPath = [ - "${config.home.homeDirectory}/.krew/bin" - "${config.home.homeDirectory}/.cargo/bin" - "${pkgs.ncurses}/bin" - ]; + home.sessionPath = [ + "${config.users.users.mike.home}/.krew/bin" + "${config.users.users.mike.home}/.cargo/bin" + "${pkgs.ncurses}/bin" + ]; - programs.starship.enable = true; + programs.starship.enable = true; - programs.direnv = { - enable = true; - nix-direnv.enable = true; - }; + programs.direnv = { + enable = true; + nix-direnv.enable = true; + }; - programs.readline = { - enable = true; - extraConfig = '' + programs.readline = { + enable = true; + extraConfig = '' $if mode=vi set keymap vi-command @@ -88,16 +85,16 @@ Control-l: clear-screen $endif ''; - }; + }; - programs.emacs = { - enable = true; - package = pkgs.emacs29; - }; + programs.emacs = { + enable = true; + package = pkgs.emacs29; + }; - programs.tmux = { - enable = true; - extraConfig = '' + programs.tmux = { + enable = true; + extraConfig = '' set-option -g default-shell ${pkgs.bashInteractive}/bin/bash set -s set-clipboard on setw -g mouse on @@ -109,7 +106,7 @@ # set -g prefix C-space # bind C-space send-prefix - bind-key R source ${config.xdg.configHome}/tmux/tmux.conf; display-message "sourced ${config.xdg.configHome}/tmux/tmux.conf!" + bind-key R source ${config.hm.xdg.configHome}/tmux/tmux.conf; display-message "sourced ${config.hm.xdg.configHome}/tmux/tmux.conf!" set-window-option -g mode-keys vi bind-key -T copy-mode-vi v send -X begin-selection @@ -137,11 +134,11 @@ bind -n C-s run-shell tmux-normal-mode bind -n C-q run-shell 'tmux-normal-mode --quit' ''; - }; + }; - programs.bash = { - enable = true; - bashrcExtra = '' + programs.bash = { + enable = true; + bashrcExtra = '' export PATH=$PATH:$HOME/.local/bin [[ -f ~/.cache/wal/sequences ]] && (cat ~/.cache/wal/sequences &) unset LD_PRELOAD @@ -157,57 +154,38 @@ export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket) gpgconf --launch gpg-agent ''; - shellAliases = { - e = "kakup "; - es = "kakup -f"; - k9s = "k9s"; - k = "kubectl "; - d = "docker "; - ls = "ls --color=auto"; - s = "sudo nixos-rebuild switch --flake ${config.home.homeDirectory}/flake#"; - b = "/run/current-system/bin/switch-to-configuration boot"; - h = "home-manager switch --flake ${config.home.homeDirectory}/flake --impure"; - fa = "azdo-switch-project"; - v = "nvim"; - V = "nvim -S .vimsession.vim"; - M = "xrandr --output HDMI1 --auto --output eDP1 --off"; - m = "xrandr --output eDP1 --auto --output HDMI1 --off"; - mM = "xrandr --output eDP1 --auto --output HDMI1 --off"; - newflake = "nix flake new -t ~/flake "; - ansible-flake = "nix flake new -t ~/flake#ansible "; - go-flake = "nix flake new -t ~/flake#go "; - lock-pass = "gpgconf --kill gpg-agent"; - }; - }; - - programs.nushell.enable = true; - - programs.git = { - enable = true; - userName = "Mike Vink"; - userEmail = email; - extraConfig = { - worktree.guessRemote = true; - mergetool.fugitive.cmd = "vim -f -c \"Gdiff\" \"$MERGED\""; - merge.tool = "fugitive"; + shellAliases = { + e = "kakup "; + es = "kakup -f"; + k9s = "k9s"; + k = "kubectl "; + d = "docker "; + ls = "ls --color=auto"; + s = "sudo nixos-rebuild switch --flake ${config.users.users.mike.home}/flake#"; + b = "/run/current-system/bin/switch-to-configuration boot"; + h = "home-manager switch --flake ${config.users.users.mike.home}/flake --impure"; + fa = "azdo-switch-project"; + v = "nvim"; + V = "nvim -S .vimsession.vim"; + M = "xrandr --output HDMI1 --auto --output eDP1 --off"; + m = "xrandr --output eDP1 --auto --output HDMI1 --off"; + mM = "xrandr --output eDP1 --auto --output HDMI1 --off"; + newflake = "nix flake new -t ~/flake "; + ansible-flake = "nix flake new -t ~/flake#ansible "; + go-flake = "nix flake new -t ~/flake#go "; + lock-pass = "gpgconf --kill gpg-agent"; + }; }; - ignores = [ - "/.direnv/" - "/.envrc" - "/.env" - ".vimsession.vim" - ]; - }; # https://github.com/drduh/config/blob/master/gpg.conf # https://www.gnupg.org/documentation/manuals/gnupg/GPG-Configuration-Options.html # https://www.gnupg.org/documentation/manuals/gnupg/GPG-Esoteric-Options.html - programs.gpg = { - enable = true; - scdaemonSettings = { + programs.gpg = { + enable = true; + scdaemonSettings = { disable-ccid = true; - }; - settings = { + }; + settings = { personal-cipher-preferences = "AES256 AES192 AES"; personal-digest-preferences = "SHA512 SHA384 SHA256"; personal-compress-preferences = "ZLIB BZIP2 ZIP Uncompressed"; @@ -228,15 +206,16 @@ no-symkey-cache = true; use-agent = true; throw-keyids = true; + }; + }; + services.gpg-agent = { + enable = true; + enableSshSupport = true; + defaultCacheTtl = 34550000; + maxCacheTtl = 34550000; + }; + programs.password-store = { + enable = true; }; - }; - services.gpg-agent = { - enable = true; - enableSshSupport = true; - defaultCacheTtl = 34550000; - maxCacheTtl = 34550000; - }; - programs.password-store = { - enable = true; }; } diff --git a/profiles/email/gmail.nix b/profiles/email/gmail.nix index fa5d44e..6f2f7df 100644 --- a/profiles/email/gmail.nix +++ b/profiles/email/gmail.nix @@ -4,112 +4,114 @@ pkgs, ... }: { - accounts.email = { - maildirBasePath = "${config.xdg.dataHome}/mail"; - accounts = { - gmail = { - primary = true; - realName = "Mike Vink"; - userName = "mike1994vink@gmail.com"; - address = "mike1994vink@gmail.com"; - passwordCommand = ["${pkgs.pass}/bin/pass" "personal/neomutt"]; - imap = { host = "imap.gmail.com"; port = 993; tls = { enable = true; }; }; - smtp = { host = "smtp.gmail.com"; port = 587; tls = { enable = true; useStartTls = true; }; }; - msmtp = { + hm = { + accounts.email = { + maildirBasePath = "${config.hm.xdg.dataHome}/mail"; + accounts = { + gmail = { + primary = true; + realName = "Mike Vink"; + userName = "mike1994vink@gmail.com"; + address = "mike1994vink@gmail.com"; + passwordCommand = ["${pkgs.pass}/bin/pass" "personal/neomutt"]; + imap = { host = "imap.gmail.com"; port = 993; tls = { enable = true; }; }; + smtp = { host = "smtp.gmail.com"; port = 587; tls = { enable = true; useStartTls = true; }; }; + msmtp = { enable = true; - }; - neomutt = { - enable = true; - sendMailCommand = "msmtp -a gmail"; - mailboxName = "=== mike1994vink ==="; - extraConfig = '' + }; + neomutt = { + enable = true; + sendMailCommand = "msmtp -a gmail"; + mailboxName = "=== mike1994vink ==="; + extraConfig = '' set spoolfile='Inbox' unvirtual-mailboxes * ''; - }; - mbsync = { - enable = true; - create = "both"; remove = "both"; expunge = "both"; - groups = { - gmail = { + }; + mbsync = { + enable = true; + create = "both"; remove = "both"; expunge = "both"; + groups = { + gmail = { channels = { - Inbox = { farPattern = "INBOX"; nearPattern = "INBOX"; extraConfig = { Create = "Near"; Expunge = "Both"; }; }; - Archive = { farPattern = "[Gmail]/All Mail"; nearPattern = "Archive"; extraConfig = { Create = "Near"; Expunge = "Both"; }; }; - Spam = { farPattern = "[Gmail]/Spam"; nearPattern = "Spam"; extraConfig = { Create = "Near"; Expunge = "Both"; }; }; - Trash = { farPattern = "[Gmail]/Bin"; nearPattern = "Trash"; extraConfig = { Create = "Near"; Expunge = "Both"; }; }; - Important = { farPattern = "[Gmail]/Important"; nearPattern = "Important"; extraConfig = { Create = "Near"; Expunge = "Both"; }; }; - Sent = { farPattern = "[Gmail]/Sent Mail"; nearPattern = "Sent"; extraConfig = { Create = "Near"; Expunge = "Both"; }; }; - FarDrafts = { farPattern = "[Gmail]/Drafts"; nearPattern = "FarDrafts"; extraConfig = { Create = "Near"; Expunge = "Both"; }; }; + Inbox = { farPattern = "INBOX"; nearPattern = "INBOX"; extraConfig = { Create = "Near"; Expunge = "Both"; }; }; + Archive = { farPattern = "[Gmail]/All Mail"; nearPattern = "Archive"; extraConfig = { Create = "Near"; Expunge = "Both"; }; }; + Spam = { farPattern = "[Gmail]/Spam"; nearPattern = "Spam"; extraConfig = { Create = "Near"; Expunge = "Both"; }; }; + Trash = { farPattern = "[Gmail]/Bin"; nearPattern = "Trash"; extraConfig = { Create = "Near"; Expunge = "Both"; }; }; + Important = { farPattern = "[Gmail]/Important"; nearPattern = "Important"; extraConfig = { Create = "Near"; Expunge = "Both"; }; }; + Sent = { farPattern = "[Gmail]/Sent Mail"; nearPattern = "Sent"; extraConfig = { Create = "Near"; Expunge = "Both"; }; }; + FarDrafts = { farPattern = "[Gmail]/Drafts"; nearPattern = "FarDrafts"; extraConfig = { Create = "Near"; Expunge = "Both"; }; }; }; + }; }; }; - }; - notmuch = { - enable = true; - neomutt = { + notmuch = { enable = true; - virtualMailboxes = [ - { name = "Inbox"; query = "folder:/gmail/ tag:inbox"; } - { name = "Archive"; query = "folder:/gmail/ tag:archive"; } - { name = "Sent"; query = "folder:/gmail/ tag:sent"; } - { name = "Spam"; query = "folder:/gmail/ tag:spam"; } - { name = "Trash"; query = "folder:/gmail/ tag:trash"; } - { name = "Jobs"; query = "folder:/gmail/ tag:jobs"; } - { name = "Houses"; query = "folder:/gmail/ tag:houses"; } - { name = "Development"; query = "folder:/gmail/ tag:dev"; } - ]; + neomutt = { + enable = true; + virtualMailboxes = [ + { name = "Inbox"; query = "folder:/gmail/ tag:inbox"; } + { name = "Archive"; query = "folder:/gmail/ tag:archive"; } + { name = "Sent"; query = "folder:/gmail/ tag:sent"; } + { name = "Spam"; query = "folder:/gmail/ tag:spam"; } + { name = "Trash"; query = "folder:/gmail/ tag:trash"; } + { name = "Jobs"; query = "folder:/gmail/ tag:jobs"; } + { name = "Houses"; query = "folder:/gmail/ tag:houses"; } + { name = "Development"; query = "folder:/gmail/ tag:dev"; } + ]; + }; }; }; - }; - family = { - primary = false; - realName = "Natalia & Mike Vink"; - userName = "natalia.mike.vink@gmail.com"; - address = "natalia.mike.vink@gmail.com"; - passwordCommand = ["${pkgs.pass}/bin/pass" "personal/neomutt-family"]; - imap = { host = "imap.gmail.com"; port = 993; tls = { enable = true; }; }; - smtp = { host = "smtp.gmail.com"; port = 587; tls = { enable = true; useStartTls = true; }; }; - msmtp = { + family = { + primary = false; + realName = "Natalia & Mike Vink"; + userName = "natalia.mike.vink@gmail.com"; + address = "natalia.mike.vink@gmail.com"; + passwordCommand = ["${pkgs.pass}/bin/pass" "personal/neomutt-family"]; + imap = { host = "imap.gmail.com"; port = 993; tls = { enable = true; }; }; + smtp = { host = "smtp.gmail.com"; port = 587; tls = { enable = true; useStartTls = true; }; }; + msmtp = { enable = true; - }; - neomutt = { - enable = true; - sendMailCommand = "msmtp -a gmail"; - mailboxName = "=== family ==="; - extraConfig = '' + }; + neomutt = { + enable = true; + sendMailCommand = "msmtp -a gmail"; + mailboxName = "=== family ==="; + extraConfig = '' set spoolfile='Inbox' unvirtual-mailboxes * ''; - }; + }; - mbsync = { - enable = true; - create = "both"; remove = "both"; expunge = "both"; - groups = { - family = { + mbsync = { + enable = true; + create = "both"; remove = "both"; expunge = "both"; + groups = { + family = { channels = { - Inbox = { farPattern = "INBOX"; nearPattern = "INBOX"; extraConfig = { Create = "Near"; Expunge = "Both"; }; }; - Archive = { farPattern = "[Gmail]/All Mail"; nearPattern = "Archive"; extraConfig = { Create = "Near"; Expunge = "Both"; }; }; - Spam = { farPattern = "[Gmail]/Spam"; nearPattern = "Spam"; extraConfig = { Create = "Near"; Expunge = "Both"; }; }; - Trash = { farPattern = "[Gmail]/Bin"; nearPattern = "Trash"; extraConfig = { Create = "Near"; Expunge = "Both"; }; }; - Important = { farPattern = "[Gmail]/Important"; nearPattern = "Important"; extraConfig = { Create = "Near"; Expunge = "Both"; }; }; - Sent = { farPattern = "[Gmail]/Sent Mail"; nearPattern = "Sent"; extraConfig = { Create = "Near"; Expunge = "Both"; }; }; - FarDrafts = { farPattern = "[Gmail]/Drafts"; nearPattern = "FarDrafts"; extraConfig = { Create = "Near"; Expunge = "Both"; }; }; + Inbox = { farPattern = "INBOX"; nearPattern = "INBOX"; extraConfig = { Create = "Near"; Expunge = "Both"; }; }; + Archive = { farPattern = "[Gmail]/All Mail"; nearPattern = "Archive"; extraConfig = { Create = "Near"; Expunge = "Both"; }; }; + Spam = { farPattern = "[Gmail]/Spam"; nearPattern = "Spam"; extraConfig = { Create = "Near"; Expunge = "Both"; }; }; + Trash = { farPattern = "[Gmail]/Bin"; nearPattern = "Trash"; extraConfig = { Create = "Near"; Expunge = "Both"; }; }; + Important = { farPattern = "[Gmail]/Important"; nearPattern = "Important"; extraConfig = { Create = "Near"; Expunge = "Both"; }; }; + Sent = { farPattern = "[Gmail]/Sent Mail"; nearPattern = "Sent"; extraConfig = { Create = "Near"; Expunge = "Both"; }; }; + FarDrafts = { farPattern = "[Gmail]/Drafts"; nearPattern = "FarDrafts"; extraConfig = { Create = "Near"; Expunge = "Both"; }; }; }; + }; }; }; - }; - notmuch = { - enable = true; - neomutt = { + notmuch = { enable = true; - virtualMailboxes = [ - { name = "Inbox"; query = "folder:/family/ tag:inbox"; } - { name = "Archive"; query = "folder:/family/ tag:archive"; } - { name = "Sent"; query = "folder:/family/ tag:sent"; } - { name = "Spam"; query = "folder:/family/ tag:spam"; } - { name = "Trash"; query = "folder:/family/ tag:trash"; } - ]; + neomutt = { + enable = true; + virtualMailboxes = [ + { name = "Inbox"; query = "folder:/family/ tag:inbox"; } + { name = "Archive"; query = "folder:/family/ tag:archive"; } + { name = "Sent"; query = "folder:/family/ tag:sent"; } + { name = "Spam"; query = "folder:/family/ tag:spam"; } + { name = "Trash"; query = "folder:/family/ tag:trash"; } + ]; + }; }; }; }; diff --git a/profiles/email/mailsync.nix b/profiles/email/mailsync.nix index 3fcb0c5..8504e39 100644 --- a/profiles/email/mailsync.nix +++ b/profiles/email/mailsync.nix @@ -4,31 +4,33 @@ pkgs, ... }: { - programs.mbsync = { + hm = { + programs.mbsync = { enable = true; - }; - systemd.user.timers.mailsync = { + }; + systemd.user.timers.mailsync = { Unit = { - Description = "daemon that syncs mail"; + Description = "daemon that syncs mail"; }; Timer = { - OnBootSec = "5m"; - OnUnitActiveSec = "5m"; - Unit = "mailsync.service"; + OnBootSec = "5m"; + OnUnitActiveSec = "5m"; + Unit = "mailsync.service"; }; Install = { - WantedBy = [ "timers.target" ]; + WantedBy = [ "timers.target" ]; }; - }; - systemd.user.services.mailsync = { + }; + systemd.user.services.mailsync = { Unit = { - Description = "daemon that syncs mail"; + Description = "daemon that syncs mail"; }; Service = { - Type = "oneshot"; - RemainAfterExit = "no"; - ExecSearchPath = "${config.home.profileDirectory}/bin:/run/current-system/sw/bin"; - ExecStart = "${pkgs.coreutils}/bin/env mailsync"; + Type = "oneshot"; + RemainAfterExit = "no"; + ExecSearchPath = "${config.hm.home.profileDirectory}/bin:/run/current-system/sw/bin"; + ExecStart = "${pkgs.coreutils}/bin/env mailsync"; }; + }; }; } diff --git a/profiles/email/neomutt.nix b/profiles/email/neomutt.nix index 384173f..4106f5b 100644 --- a/profiles/email/neomutt.nix +++ b/profiles/email/neomutt.nix @@ -4,11 +4,12 @@ pkgs, ... }: { - programs.msmtp = { + hm = { + programs.msmtp = { enable = true; - }; + }; - xdg.configFile."neomutt/mailcap" = { + xdg.configFile."neomutt/mailcap" = { text = '' text/plain; $EDITOR %s ; text/html; openfile %s ; nametemplate=%s.html @@ -21,15 +22,15 @@ application/pgp-keys; gpg --import '%s'; copiousoutput; application/x-subrip; $EDITOR %s ; ''; - }; + }; - programs.neomutt = { - enable = true; - sort = "reverse-date"; - sidebar = { + programs.neomutt = { enable = true; - }; - extraConfig = '' + sort = "reverse-date"; + sidebar = { + enable = true; + }; + extraConfig = '' set use_threads=yes set send_charset="us-ascii:utf-8" set mailcap_path = $HOME/.config/neomutt/mailcap @@ -145,7 +146,7 @@ mono body bold "^gpg: BAD signature from.*" color body red default "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]" ''; - binds = [ + binds = [ { map = ["index" "pager"]; key = "x"; action = "modify-labels"; } { map = ["index" "pager"]; key = "i"; action = "noop"; } { map = ["index" "pager"]; key = "g"; action = "noop"; } @@ -183,16 +184,17 @@ { map = ["pager"]; key = "\031"; action = "previous-line"; } { map = ["pager"]; key = "\005"; action = "next-line"; } { map = ["editor"]; key = "<Tab>"; action = "complete-query"; } - ]; - macros = [ - { map = ["index"]; key = "X"; action = "<save-message>=Spam<enter>y"; } - { map = ["index"]; key = "A"; action = "<modify-labels-then-hide>+archive -unread -inbox<enter><mark-message>z<enter><change-folder>^<enter>'z"; } - { map = ["index"]; key = "h"; action = "<mark-message>z<enter><change-folder>^<enter>'z"; } - { map = ["index"]; key = "D"; action = "<delete-message>"; } - { map = ["index" "pager"]; key = "S"; action = "<sync-mailbox>!notmuch-hook &<enter>"; } - { map = ["index"]; key = "c"; action = "<change-vfolder>?"; } - { map = ["index"]; key = "\\\\"; action = "<vfolder-from-query>"; } - { map = ["browser"]; key = "h"; action = "<change-dir><kill-line>..<enter>"; } - ]; + ]; + macros = [ + { map = ["index"]; key = "X"; action = "<save-message>=Spam<enter>y"; } + { map = ["index"]; key = "A"; action = "<modify-labels-then-hide>+archive -unread -inbox<enter><mark-message>z<enter><change-folder>^<enter>'z"; } + { map = ["index"]; key = "h"; action = "<mark-message>z<enter><change-folder>^<enter>'z"; } + { map = ["index"]; key = "D"; action = "<delete-message>"; } + { map = ["index" "pager"]; key = "S"; action = "<sync-mailbox>!notmuch-hook &<enter>"; } + { map = ["index"]; key = "c"; action = "<change-vfolder>?"; } + { map = ["index"]; key = "\\\\"; action = "<vfolder-from-query>"; } + { map = ["browser"]; key = "h"; action = "<change-dir><kill-line>..<enter>"; } + ]; + }; }; } diff --git a/profiles/email/notmuch.nix b/profiles/email/notmuch.nix index 3b182c7..e317616 100644 --- a/profiles/email/notmuch.nix +++ b/profiles/email/notmuch.nix @@ -4,19 +4,21 @@ pkgs, ... }: { - programs.notmuch = { + hm = { + programs.notmuch = { enable = true; new = { - tags = ["new"]; - ignore = [".mbsyncstate" ".uidvalidity"]; + tags = ["new"]; + ignore = [".mbsyncstate" ".uidvalidity"]; }; search.excludeTags = ["deleted" "spam"]; maildir.synchronizeFlags = true; extraConfig = { - database.path = "${config.xdg.dataHome}/mail"; + database.path = "${config.hm.xdg.dataHome}/mail"; user.name = "Mike Vink"; user.primary_email = "mike1994vink@gmail.com"; crypto.gpg_path="gpg"; }; + }; }; } diff --git a/profiles/station/codeium.nix b/profiles/station/codeium.nix index f3841b3..f63a9b3 100644 --- a/profiles/station/codeium.nix +++ b/profiles/station/codeium.nix @@ -43,16 +43,16 @@ }; }; in { - home.activation = { - # links codeium into place - codium-symlink = inputs.home-manager.lib.hm.dag.entryAfter ["writeBoundary"] '' - CODEIUM_TARGET="${config.home.homeDirectory}/.codeium/bin/c8fda9657259bb7f3d432c1b558db921db4257aa" - if [ -L $CODEIUM_TARGET ] && [ -e $CODEIUM_TARGET ]; then - $DRY_RUN_CMD echo "codeium linked" - else - mkdir -p $CODEIUM_TARGET - $DRY_RUN_CMD ln -sf ${codeium} "$CODEIUM_TARGET/language_server_linux_x64" - fi - ''; - }; + # home.activation = { + # # links codeium into place + # codium-symlink = inputs.home-manager.lib.hm.dag.entryAfter ["writeBoundary"] '' + # CODEIUM_TARGET="${config.home.homeDirectory}/.codeium/bin/c8fda9657259bb7f3d432c1b558db921db4257aa" + # if [ -L $CODEIUM_TARGET ] && [ -e $CODEIUM_TARGET ]; then + # $DRY_RUN_CMD echo "codeium linked" + # else + # mkdir -p $CODEIUM_TARGET + # $DRY_RUN_CMD ln -sf ${codeium} "$CODEIUM_TARGET/language_server_linux_x64" + # fi + # ''; + # }; } diff --git a/profiles/station/kakoune.nix b/profiles/station/kakoune.nix index 41caf9f..010e4c4 100644 --- a/profiles/station/kakoune.nix +++ b/profiles/station/kakoune.nix @@ -6,30 +6,13 @@ ... }: let - kakouneWithPlugins = pkgs.wrapKakoune pkgs.kakoune-unwrapped { configure = { plugins = with pkgs.kakounePlugins; [kak-lsp parinfer-rust]; }; }; + kakouneWithPlugins = pkgs.wrapKakoune pkgs.kakoune-unwrapped { + configure = { + plugins = with pkgs.kakounePlugins; [kak-lsp parinfer-rust]; + }; + }; in { - home.packages = [kakouneWithPlugins]; - home.activation = { - kakoune-symlink = inputs.home-manager.lib.hm.dag.entryAfter ["writeBoundary"] '' - KAK_CONFIG="${config.home.homeDirectory}/kakoune" - XDG_CONFIG_HOME_KAK="${config.xdg.configHome}/kak" - if [ -L $XDG_CONFIG_HOME_KAK ] && [ -e $XDG_CONFIG_HOME_KAK ]; then - $DRY_RUN_CMD echo "kakoune linked" - else - $DRY_RUN_CMD ln -s $KAK_CONFIG $XDG_CONFIG_HOME_KAK - fi - rm -rf $XDG_CONFIG_HOME_KAK/autoload/default - ln -sf ${kakouneWithPlugins}/share/kak/autoload $XDG_CONFIG_HOME_KAK/autoload/default - ''; - }; - home.file."${config.xdg.configHome}/kak-lsp/kak-lsp.toml" = { - source = ./kak-lsp.toml; - }; - - #set global windowing_modules "" - #require-module tmux - #require-module tmux-repl - #alias global terminal tmux-terminal-vertical - #alias global sp new - + hm = { + home.packages = [kakouneWithPlugins]; + }; } diff --git a/profiles/station/meta.nix b/profiles/station/meta.nix index e6f3a78..3f1d334 100644 --- a/profiles/station/meta.nix +++ b/profiles/station/meta.nix @@ -1,8 +1,8 @@ {inputs,lib,config, ...}: with lib; { lib.meta = { - configPath = "${config.home.homeDirectory}/flake"; + configPath = "${config.users.users.mike.home}/flake"; mkMutableSymlink = path: - config.lib.file.mkOutOfStoreSymlink + config.hm.lib.file.mkOutOfStoreSymlink (config.lib.meta.configPath + removePrefix (toString inputs.self) (toString path)); }; } diff --git a/profiles/station/mpv.nix b/profiles/station/mpv.nix index 1b673ab..b5a9fce 100644 --- a/profiles/station/mpv.nix +++ b/profiles/station/mpv.nix @@ -5,6 +5,7 @@ pkgs, ... }: { + hm = { programs.mpv = { enable = true; scripts = [ @@ -44,4 +45,5 @@ S="cycle sub"; }; }; + }; } diff --git a/profiles/station/neovim.nix b/profiles/station/neovim.nix index 8957c89..afe85dd 100644 --- a/profiles/station/neovim.nix +++ b/profiles/station/neovim.nix @@ -4,101 +4,93 @@ pkgs, ... }: { - home.activation = { - # fixes hotpot cannot be found error after updates - clearHotpotCache = inputs.home-manager.lib.hm.dag.entryAfter ["writeBoundary"] '' - HOTPOT_CACHE="${config.xdg.cacheHome}/nvim/hotpot" - if [[ -d "$HOTPOT_CACHE" ]]; then - $DRY_RUN_CMD rm -rf "$VERBOSE_ARG" "$HOTPOT_CACHE" - fi - ''; - }; - - xdg = { - configFile = with config.lib.meta; { - "nvim".source = mkMutableSymlink ../neovim; + hm = { + xdg = { + configFile = with config.lib.meta; { + "nvim".source = mkMutableSymlink ../neovim; + }; }; - }; - editorconfig = { - enable = true; - settings = { - "*" = { - trim_trailing_whitespace = true; - insert_final_newline = true; - }; - "*.yaml" = { - indent_style = "space"; - indent_size = 2; + editorconfig = { + enable = true; + settings = { + "*" = { + trim_trailing_whitespace = true; + insert_final_newline = true; + }; + "*.yaml" = { + indent_style = "space"; + indent_size = 2; + }; }; }; - }; - programs.neovim = { - enable = true; - package = pkgs.neovim-unwrapped; - viAlias = true; - vimAlias = true; - extraPackages = with pkgs; [ - bashInteractive - sumneko-lua-language-server - pyright - gopls - fennel - fnlfmt - alejandra - statix - ]; - plugins = with pkgs.vimPlugins; [ - # highlighting - nvim-treesitter.withAllGrammars - nvim-treesitter-context - playground - gruvbox-material - kanagawa-nvim - lsp_lines-nvim - heirline-nvim - gitsigns-nvim - noice-nvim - nui-nvim - vim-helm + programs.neovim = { + enable = true; + package = pkgs.neovim-unwrapped; + viAlias = true; + vimAlias = true; + extraPackages = with pkgs; [ + bashInteractive + sumneko-lua-language-server + pyright + gopls + fennel + fnlfmt + alejandra + statix + ]; + plugins = with pkgs.vimPlugins; [ + # highlighting + nvim-treesitter.withAllGrammars + nvim-treesitter-context + playground + gruvbox-material + kanagawa-nvim + lsp_lines-nvim + heirline-nvim + gitsigns-nvim + noice-nvim + nui-nvim + vim-helm - # external - git-worktree-nvim - vim-dirvish - vim-fugitive - vim-dispatch - vim-oscyank - venn-nvim - gv-vim + # external + git-worktree-nvim + vim-dirvish + vim-fugitive + vim-dispatch + vim-oscyank + venn-nvim + gv-vim - # Coding - plenary-nvim - telescope-nvim - nvim-lspconfig - null-ls-nvim - lsp_signature-nvim - omnisharp-extended-lsp-nvim - nvim-dap - nvim-dap-ui - luasnip - vim-test - vim-rest-console - harpoon + # Coding + plenary-nvim + telescope-nvim + nvim-lspconfig + null-ls-nvim + lsp_signature-nvim + omnisharp-extended-lsp-nvim + nvim-dap + nvim-dap-ui + luasnip + vim-test + vim-rest-console + harpoon - # cmp - nvim-cmp - cmp-cmdline - cmp-nvim-lsp - cmp-buffer - cmp-path - cmp_luasnip + # cmp + nvim-cmp + cmp-cmdline + cmp-nvim-lsp + cmp-buffer + cmp-path + cmp_luasnip - # trying out lisp - conjure - vim-racket - nvim-parinfer - hotpot-nvim - ]; + # trying out lisp + conjure + vim-racket + nvim-parinfer + hotpot-nvim + ]; + }; }; } diff --git a/profiles/station/newsboat.nix b/profiles/station/newsboat.nix index fc47060..e9ae445 100644 --- a/profiles/station/newsboat.nix +++ b/profiles/station/newsboat.nix @@ -1,28 +1,29 @@ {...}: { - programs.newsboat = { - enable = true; - autoReload = true; - urls = [ - {url = "https://github.com/neovim/neovim/releases.atom";} - {url = "https://github.com/rancher/rancher/releases.atom";} - {url = "https://github.com/istio/istio/releases.atom";} - {url = "https://github.com/argoproj/argo-cd/releases.atom";} - {url = "https://github.com/argoproj/argo-cd/releases.atom";} - {url = "https://github.com/kyverno/kyverno/releases.atom";} - {url = "https://github.com/hashicorp/terraform/releases.atom";} - {url = "https://github.com/ansible/ansible/releases.atom";} - {url = "https://github.com/ansible/awx/releases.atom";} - {url = "https://kubeshark.co/rss.xml";} - {url = "https://azurecomcdn.azureedge.net/en-us/updates/feed/?product=azure-devops";} - {url = "https://www.hashicorp.com/blog/categories/products-technology/feed.xml";} - {url = "https://kubernetes.io/feed.xml";} - {url = "https://www.cncf.io/rss";} - {url = "https://blog.alexellis.io/rss/";} - {url = "https://www.openfaas.com/feed";} - {url = "https://istio.io/latest/blog/feed.xml";} - {url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCUyeluBRhGPCW4rPe_UvBZQ";} - ]; - extraConfig = '' + hm = { + programs.newsboat = { + enable = true; + autoReload = true; + urls = [ + {url = "https://github.com/neovim/neovim/releases.atom";} + {url = "https://github.com/rancher/rancher/releases.atom";} + {url = "https://github.com/istio/istio/releases.atom";} + {url = "https://github.com/argoproj/argo-cd/releases.atom";} + {url = "https://github.com/argoproj/argo-cd/releases.atom";} + {url = "https://github.com/kyverno/kyverno/releases.atom";} + {url = "https://github.com/hashicorp/terraform/releases.atom";} + {url = "https://github.com/ansible/ansible/releases.atom";} + {url = "https://github.com/ansible/awx/releases.atom";} + {url = "https://kubeshark.co/rss.xml";} + {url = "https://azurecomcdn.azureedge.net/en-us/updates/feed/?product=azure-devops";} + {url = "https://www.hashicorp.com/blog/categories/products-technology/feed.xml";} + {url = "https://kubernetes.io/feed.xml";} + {url = "https://www.cncf.io/rss";} + {url = "https://blog.alexellis.io/rss/";} + {url = "https://www.openfaas.com/feed";} + {url = "https://istio.io/latest/blog/feed.xml";} + {url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCUyeluBRhGPCW4rPe_UvBZQ";} + ]; + extraConfig = '' #show-read-feeds no auto-reload yes @@ -79,5 +80,6 @@ highlight article ":.*\\(image\\)$" blue default highlight article ":.*\\(embedded flash\\)$" magenta default ''; + }; }; } diff --git a/profiles/station/packages.nix b/profiles/station/packages.nix index 02c5b8e..19e7ad1 100644 --- a/profiles/station/packages.nix +++ b/profiles/station/packages.nix @@ -2,7 +2,6 @@ flake, config, pkgs, - username, ... }: let core-packages = with pkgs; @@ -65,8 +64,7 @@ sxiv nushell sent - ] - ++ (import ../shell-scripts.nix {inherit pkgs config;}); + ]; mike-extra-packages = with pkgs; [ (nerdfonts.override {fonts = ["FiraCode"];}) noto-fonts @@ -80,11 +78,10 @@ libreoffice ]; in { - home.packages = - core-packages - ++ ( - if (username == "mike") - then mike-extra-packages - else [] - ); + hm = { + home.packages = + core-packages + ++ + mike-extra-packages; + }; } diff --git a/profiles/station/suckless.nix b/profiles/station/suckless.nix index d10414d..a7145d8 100644 --- a/profiles/station/suckless.nix +++ b/profiles/station/suckless.nix @@ -6,68 +6,70 @@ ... }: let in { - xsession = { - enable = true; - initExtra = '' + hm = { + xsession = { + enable = true; + initExtra = '' ${pkgs.xorg.xmodmap}/bin/xmodmap -e "remove mod1 = Alt_R" ${pkgs.xorg.xmodmap}/bin/xmodmap -e "add mod3 = Alt_R" wal -R dwm dwmblocks & ''; - }; - services.picom = { - enable = true; - activeOpacity = 0.99; - inactiveOpacity = 0.7; - opacityRules = [ - "100:class_g = 'dwm'" - "100:name *= 'Firefox'" - "100:name *= 'mpv'" - "100:name *= 'LibreWolf'" - ]; - settings = { - inactive-opacity-override = false; - frame-opacity = 1; }; - }; - services.dunst = { - enable = true; - settings = { - global = { - monitor = 0; - follow = "keyboard"; - width = 370; - height = 350; - offset = "0x19"; - padding = 2; - horizontal_padding = 2; - transparency = 25; - font = "Monospace 12"; - format = "<b>%s</b>\\n%b"; - }; - urgency_low = { - background = "#1d2021"; - foreground = "#928374"; - timeout = 3; + services.picom = { + enable = true; + activeOpacity = 0.99; + inactiveOpacity = 0.7; + opacityRules = [ + "100:class_g = 'dwm'" + "100:name *= 'Firefox'" + "100:name *= 'mpv'" + "100:name *= 'LibreWolf'" + ]; + settings = { + inactive-opacity-override = false; + frame-opacity = 1; }; - urgency_normal = { - foreground = "#ebdbb2"; - background = "#458588"; - timeout = 5; - }; - urgency_critical = { - background = "#1cc24d"; - foreground = "#ebdbb2"; - frame_color = "#fabd2f"; - timeout = 10; + }; + services.dunst = { + enable = true; + settings = { + global = { + monitor = 0; + follow = "keyboard"; + width = 370; + height = 350; + offset = "0x19"; + padding = 2; + horizontal_padding = 2; + transparency = 25; + font = "Monospace 12"; + format = "<b>%s</b>\\n%b"; + }; + urgency_low = { + background = "#1d2021"; + foreground = "#928374"; + timeout = 3; + }; + urgency_normal = { + foreground = "#ebdbb2"; + background = "#458588"; + timeout = 5; + }; + urgency_critical = { + background = "#1cc24d"; + foreground = "#ebdbb2"; + frame_color = "#fabd2f"; + timeout = 10; + }; }; }; + home.packages = with pkgs; [ + st + dwm + dwmblocks + libnotify + ]; }; - home.packages = with pkgs; [ - st - dwm - dwmblocks - libnotify - ]; } diff --git a/profiles/station/zathura.nix b/profiles/station/zathura.nix index 198f039..084214c 100644 --- a/profiles/station/zathura.nix +++ b/profiles/station/zathura.nix @@ -4,9 +4,10 @@ pkgs, ... }: { - programs.zathura = { - enable = true; - extraConfig = '' + hm = { + programs.zathura = { + enable = true; + extraConfig = '' set sandbox none set statusbar-h-padding 0 set statusbar-v-padding 0 @@ -23,5 +24,6 @@ map p print map g goto top ''; + }; }; } |
