summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Vink <mike1994vink@gmail.com>2023-10-07 01:33:26 +0200
committerMike Vink <mike1994vink@gmail.com>2023-10-07 01:33:26 +0200
commita2cbf737e78051c2cb10eeaf4a5dccc19d6348ba (patch)
treef53ab92a0c94926e92117891eb87f19cafaa536c
parentcfaef26e8718916adcc68fbfb63b15f2389b2cd2 (diff)
first working
-rw-r--r--.gitmodules2
-rw-r--r--flake.nix34
-rw-r--r--lib/default.nix2
-rw-r--r--lib/my.nix15
m---------mut/dwm0
m---------mut/dwmblocks0
-rw-r--r--mut/kak-lsp/kak-lsp.toml (renamed from profiles/station/kak-lsp.toml)0
m---------mut/st0
-rw-r--r--overlays/suckless.nix6
-rw-r--r--profiles/core/git.nix20
-rw-r--r--profiles/core/hm.nix4
-rw-r--r--profiles/core/home.nix221
-rw-r--r--profiles/email/gmail.nix172
-rw-r--r--profiles/email/mailsync.nix32
-rw-r--r--profiles/email/neomutt.nix46
-rw-r--r--profiles/email/notmuch.nix10
-rw-r--r--profiles/station/codeium.nix24
-rw-r--r--profiles/station/kakoune.nix33
-rw-r--r--profiles/station/meta.nix4
-rw-r--r--profiles/station/mpv.nix2
-rw-r--r--profiles/station/neovim.nix166
-rw-r--r--profiles/station/newsboat.nix50
-rw-r--r--profiles/station/packages.nix17
-rw-r--r--profiles/station/suckless.nix108
-rw-r--r--profiles/station/zathura.nix8
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
diff --git a/flake.nix b/flake.nix
index d80f804..e0c3a5d 100644
--- a/flake.nix
+++ b/flake.nix
@@ -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
'';
+ };
};
}