diff --git a/configs/admin-essentials.nix b/configs/admin-essentials.nix deleted file mode 100644 index 74642da..0000000 --- a/configs/admin-essentials.nix +++ /dev/null @@ -1,127 +0,0 @@ -{ - pkgs, - lib, - ... -}: -let - darwin = lib.strings.hasSuffix "-darwin" pkgs.stdenv.hostPlatform.system; -in -{ - environment.systemPackages = [ - pkgs.htop - pkgs.w3m - pkgs.wget - # ARCHIVE TOOLS - pkgs.unzip - pkgs.unrar - pkgs.p7zip - pkgs.sshuttle - pkgs.zip - # MONITORS - pkgs.iftop # interface bandwidth monitor - pkgs.lsof # list open files - # SHELL - pkgs.sqlite - pkgs.fd # better find - pkgs.tree - pkgs.parallel # for parallel, since moreutils shadows task spooler - pkgs.ripgrep # better grep - pkgs.rlwrap - pkgs.progress # display progress bars for pipes - pkgs.file # determine file type - pkgs.gdu # ncurses disk usage (ncdu is broken) - pkgs.rmlint # remove duplicate files - pkgs.jq # json toolkit - pkgs.jless # less(1) for json - pkgs.fq # toolkit for yaml, xml and binaries - pkgs.bc # calculator - pkgs.pari # gp -- better calculator - pkgs.ts - pkgs.vimv - pkgs.vg - pkgs.fkill - pkgs.cyberlocker-tools - pkgs.untilport - pkgs.kpaste - # HARDWARE - pkgs.pciutils # for lspci - ] - ++ lib.optionals (!darwin) [ - pkgs.usbutils # for lsusb - pkgs.lshw # for lshw - pkgs.iotop # I/O load monitor - pkgs.psmisc # for killall, pstree - ]; - - security.wrappers = { - pmount = { - setuid = true; - owner = "root"; - group = "root"; - source = "${pkgs.pmount}/bin/pmount"; - }; - pumount = { - setuid = true; - owner = "root"; - group = "root"; - source = "${pkgs.pmount}/bin/pumount"; - }; - }; - - environment.interactiveShellInit = '' - # Use XDG_RUNTIME_DIR for temporary files if available - if [ -d "$XDG_RUNTIME_DIR" ]; then - export TMPDIR="$XDG_RUNTIME_DIR" - fi - ''; - - environment.shellAliases = - let - take = pkgs.writers.writeDash "take" '' - mkdir "$1" && cd "$1" - ''; - cdt = pkgs.writers.writeDash "cdt" '' - cd $(mktemp -p "$XDG_RUNTIME_DIR" -d "cdt-XXXXXX") - pwd - ''; - wcd = pkgs.writers.writeDash "wcd" '' - cd "$(readlink "$(${pkgs.which}/bin/which --skip-alias "$1")" | xargs dirname)/.." - ''; - where = pkgs.writers.writeDash "where" '' - readlink "$(${pkgs.which}/bin/which --skip-alias "$1")" | xargs dirname - ''; - in - { - nixi = "nix repl nixpkgs"; - take = "source ${take}"; - wcd = "source ${wcd}"; - where = "source ${where}"; - # temporary files and directories - cdt = "source ${cdt}"; - vit = "$EDITOR $(mktemp)"; - # file safety - mv = "${pkgs.coreutils}/bin/mv --interactive"; - rm = "${pkgs.coreutils}/bin/rm --interactive"; - cp = "${pkgs.coreutils}/bin/cp --interactive"; - # colours - cat = "${pkgs.bat}/bin/bat --theme=ansi --style=plain"; - l = "${pkgs.coreutils}/bin/ls --color=auto --time-style=long-iso --almost-all"; - ls = "${pkgs.coreutils}/bin/ls --color=auto --time-style=long-iso"; - ll = "${pkgs.coreutils}/bin/ls --color=auto --time-style=long-iso -l"; - la = "${pkgs.coreutils}/bin/ls --color=auto --time-style=long-iso --almost-all -l"; - } - // ( - if darwin then - { } - else - { - "ß" = "${pkgs.util-linux}/bin/setsid"; - ip = "${pkgs.iproute2}/bin/ip -c"; - # systemd - s = "${pkgs.systemd}/bin/systemctl"; - us = "${pkgs.systemd}/bin/systemctl --user"; - j = "${pkgs.systemd}/bin/journalctl"; - uj = "${pkgs.systemd}/bin/journalctl --user"; - } - ); -} diff --git a/configs/alacritty.nix b/configs/alacritty.nix index 696b57f..4b446a1 100644 --- a/configs/alacritty.nix +++ b/configs/alacritty.nix @@ -1,35 +1,7 @@ { - pkgs, - lib, - ... -}: -let -in -{ - environment.variables.TERMINAL = "alacritty"; - home-manager.users.me = { programs.alacritty = { enable = true; - settings = { - keyboard.bindings = [ - { - key = "Plus"; - mods = "Control"; - action = "IncreaseFontSize"; - } - { - key = "Minus"; - mods = "Control"; - action = "DecreaseFontSize"; - } - { - key = "Key0"; - mods = "Control"; - action = "ResetFontSize"; - } - ]; - }; }; }; } diff --git a/configs/applicative.nix b/configs/applicative.nix index fab3754..d6f0f21 100644 --- a/configs/applicative.nix +++ b/configs/applicative.nix @@ -18,44 +18,45 @@ ]; }; - services.displayManager.autoLogin.enable = lib.mkForce false; + nixpkgs.overlays = [ + (final: prev: { + niphas-wallpaper = + let + backgroundColor = config.lib.stylix.colors.withHashtag.base06; + foregroundColor = config.lib.stylix.colors.withHashtag.base01; + width = 1920; + height = 1080; - # if we have multiple users, they should be able to log in through a greeter - programs.regreet = - let - wallpaper = - pkgs.runCommand "textured-monochrome-wallpaper.png" + svgUrl = "https://applicative.systems/_astro/logo-full.D8zRvqBZ.svg"; + logoSvg = prev.fetchurl { + url = svgUrl; + hash = "sha256-qXDIEZsAPn4eUJ3kb5U6L3PMUCtWGYqhqyIaBt7FntE="; + }; + in + prev.runCommand "applicative-wallpaper.png" { - buildInputs = [ pkgs.imagemagick ]; + nativeBuildInputs = [ prev.imagemagick ]; } '' - magick -size 2560x1440 plasma:fractal \ - -colorspace Gray \ - -normalize \ - -fill ${lib.escapeShellArg config.lib.stylix.colors.withHashtag.base00} -colorize 100% \ - -attenuate 0.15 +noise Gaussian \ + # 1. We use -background to set the canvas color + # 2. We use -fuzz and -opaque to replace the logo's internal colors + # 3. We use -gravity and -extent to center it on a wallpaper-sized canvas + + convert \ + -background none \ + -density 300 \ + "${logoSvg}" \ + -fuzz 100% -fill "${foregroundColor}" -opaque black \ + -resize 800x800 \ + -gravity center \ + -background "${backgroundColor}" \ + -extent ${toString width}x${toString height} \ $out ''; - in - { - enable = true; - settings = { - background = { - path = wallpaper; - fit = "Fill"; - }; - appearance.greeting_msg = "स्वागतम्"; - widget.clock.format = "%F %H:%M"; - }; - font = { - inherit (config.stylix.fonts.sansSerif) name; - size = config.stylix.fonts.sizes.applications; - }; - iconTheme = { - inherit (config.home-manager.users.me.gtk.iconTheme) package name; - }; - }; + }) + ]; + services.getty.autologinOnce = lib.mkForce false; # to run nspawn in nix sandbox nix.settings = { @@ -65,8 +66,6 @@ "auto-allocate-uids" "cgroups" ]; - extra-sandbox-paths = [ "/dev/net" ]; # needed for tests of VPNs - trusted-users = [ config.users.users.applicative.name ]; }; @@ -86,82 +85,4 @@ commands = [ "ALL" ]; } ]; - - home-manager.users.applicative = - let - mainGitConfig = (import ./git.nix { - inherit pkgs lib config; - }).home-manager.users.me.programs.git; - mainAlacrittyConfig = (import ./alacritty.nix { - inherit pkgs lib config; - }).home-manager.users.me.programs.alacritty; - in - lib.recursiveUpdate - (import ./graphical/home-manager.nix { - inherit lib pkgs config; - }) - { - xdg.enable = true; - home.stateVersion = "25.11"; - - programs.git = { - enable = true; - settings = { - inherit (mainGitConfig.settings) alias; - }; - }; - - programs.alacritty = mainAlacrittyConfig; - - services.hyprpaper = - let - # asgWallpaper = pkgs.fetchurl { - # url = "http://c.krebsco.de/asg-wallpaper.png"; - # hash = "sha256-XLp8XcUgFgDKW5Qae0//0Xw9lhribcevQTVSQvClEB4="; - # }; - - backgroundColor = config.lib.stylix.colors.withHashtag.base06; - foregroundColor = config.lib.stylix.colors.withHashtag.base01; - width = 1920; - height = 1080; - - svgUrl = "https://applicative.systems/_astro/logo-full.D8zRvqBZ.svg"; - logoSvg = pkgs.fetchurl { - url = svgUrl; - hash = "sha256-qXDIEZsAPn4eUJ3kb5U6L3PMUCtWGYqhqyIaBt7FntE="; - }; - - asgWallpaper = - pkgs.runCommand "applicative-wallpaper.png" - { - nativeBuildInputs = [ pkgs.imagemagick ]; - } - '' - # 1. We use -background to set the canvas color - # 2. We use -fuzz and -opaque to replace the logo's internal colors - # 3. We use -gravity and -extent to center it on a wallpaper-sized canvas - - convert \ - -background none \ - -density 300 \ - "${logoSvg}" \ - -fuzz 100% -fill "${foregroundColor}" -opaque black \ - -resize 800x800 \ - -gravity center \ - -background "${backgroundColor}" \ - -extent ${toString width}x${toString height} \ - $out - ''; - in - { - enable = true; - settings = { - ipc = false; - splash = true; - preload = [ "${asgWallpaper}" ]; - wallpaper = [ ",${asgWallpaper}" ]; - }; - }; - - }; } diff --git a/configs/default.nix b/configs/default.nix index 0d6dcf3..5583e40 100644 --- a/configs/default.nix +++ b/configs/default.nix @@ -87,11 +87,6 @@ in swallow = command: "${pkgs.swallow}/bin/swallow ${command}"; in { - o = "${pkgs.xdg-utils}/bin/xdg-open"; - ns = "nix-shell --run zsh"; - pbcopy = "${pkgs.wl-clipboard}/bin/wl-copy"; - pbpaste = "${pkgs.wl-clipboard}/bin/wl-paste"; - tmux = "${pkgs.tmux}/bin/tmux -2"; sxiv = swallow "${pkgs.nsxiv}/bin/nsxiv"; zathura = swallow "${pkgs.zathura}/bin/zathura"; im = "${pkgs.openssh}/bin/ssh weechat@makanek -t tmux attach-session -t IM"; @@ -153,15 +148,6 @@ in home-manager.backupFileExtension = "bak"; } { - systemd.user.services.udiskie = { - after = [ "udisks2.service" ]; - wants = [ "udisks2.service" ]; - wantedBy = [ "graphical-session.target" ]; - serviceConfig = { - ExecStart = "${pkgs.udiskie}/bin/udiskie --verbose --no-config --notify"; - }; - }; - services.udisks2.enable = true; programs.dconf.enable = true; home-manager.users.me = { dconf.enable = true; @@ -175,31 +161,26 @@ in ./stylix.nix ./alacritty.nix ./backup.nix - ./bash.nix ./bluetooth.nix ./aerc.nix ./khal.nix ./browser.nix ./clipboard.nix ./cloud.nix - ./direnv.nix ./fonts.nix - ./fzf.nix ./git.nix ./hledger.nix ./htop.nix ./uni.nix # ./i3.nix ./graphical - ./i3status-rust.nix ./keyboard ./kdeconnect.nix { services.upower.enable = true; } ./lb.nix ./mpv.nix ./mime.nix - ./neovim.nix - ./newsboat.nix + ./editor.nix ./flameshot.nix ./packages.nix ./virtualization.nix @@ -211,17 +192,19 @@ in ./ssh.nix ./sound.nix ./sudo.nix - ./tmux.nix ./unclutter.nix ./vscode.nix ./wallpaper.nix - ./zsh.nix { home-manager.users.me.home.file.".zshrc".text = '' # nothing to see here ''; } { + programs.zsh.interactiveShellInit = '' + hash -d nixos=/etc/nixos niveum=${config.users.users.me.home}/sync/src/niveum + ''; + home-manager.users.me = { xdg.userDirs = let diff --git a/configs/neovim.nix b/configs/editor.nix similarity index 74% rename from configs/neovim.nix rename to configs/editor.nix index 346c0d1..7e6058a 100644 --- a/configs/neovim.nix +++ b/configs/editor.nix @@ -4,20 +4,7 @@ config, ... }: -let - vim-kmein = ( - pkgs.vim-kmein.override { - # stylixColors = config.lib.stylix.colors; - colorscheme = "base16-gruvbox-dark-medium"; - } - ); -in { - environment.variables.EDITOR = lib.getExe vim-kmein; - environment.shellAliases.vi = "nvim"; - environment.shellAliases.vim = "nvim"; - environment.shellAliases.view = "nvim -R"; - home-manager.users.me = { editorconfig = { enable = true; @@ -46,7 +33,6 @@ in environment.systemPackages = [ pkgs.vim-typewriter pkgs.dawn-editor - vim-kmein # language servers pkgs.pyright diff --git a/configs/fzf.nix b/configs/fzf.nix deleted file mode 100644 index f8f9412..0000000 --- a/configs/fzf.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ pkgs, ... }: -{ - programs.fzf = { - fuzzyCompletion = true; - keybindings = true; - }; - - home-manager.users.me = { - programs.fzf = - let - defaultCommand = "${pkgs.fd}/bin/fd --type f --strip-cwd-prefix --follow --no-ignore-vcs --exclude .git"; - in - { - enable = true; - defaultCommand = defaultCommand; - defaultOptions = [ "--height=40%" ]; - changeDirWidgetCommand = "${pkgs.fd}/bin/fd --type d"; - changeDirWidgetOptions = [ - "--preview='${pkgs.tree}/bin/tree -L 1 {}'" - "--bind=space:toggle-preview" - "--preview-window=hidden" - ]; - fileWidgetCommand = defaultCommand; - fileWidgetOptions = [ "--preview='head -$LINES {}'" ]; - }; - }; -} diff --git a/configs/git.nix b/configs/git.nix index ccbaee5..103b343 100644 --- a/configs/git.nix +++ b/configs/git.nix @@ -4,50 +4,12 @@ ... }: { - environment.systemPackages = [ - pkgs.mr - pkgs.gitFull - pkgs.git-crypt - pkgs.gitflow - pkgs.gh - pkgs.git-extras - # pkgs.git-trim - pkgs.git-absorb - pkgs.gitstats - pkgs.patch - pkgs.patchutils - ]; - - environment.shellAliases = { - gf = "git-flow"; - g = "git"; - }; - home-manager.users.me = { programs.git = { enable = true; - package = pkgs.gitFull; - settings.alias = { - br = "branch"; - co = "checkout"; - ci = "commit"; - cm = "commit -m"; - amend = "commit --amend"; - st = "status -s"; - unstage = "reset HEAD --"; - diffs = "diff --staged"; - pushf = "push --force-with-lease"; - last = "log -1 HEAD"; - logs = "log --pretty=oneline"; - graph = "log --graph --abbrev-commit --decorate --date=relative --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all"; - }; ignores = pkgs.lib.niveum.ignorePaths; settings.user.name = pkgs.lib.niveum.kieran.name; settings.user.email = pkgs.lib.niveum.kieran.email; - settings.pull.ff = "only"; - settings.rebase.autoStash = true; - settings.merge.autoStash = true; - settings.push.autoSetupRemove = true; }; }; } diff --git a/configs/graphical/default.nix b/configs/graphical/default.nix index 77e4145..e74d152 100644 --- a/configs/graphical/default.nix +++ b/configs/graphical/default.nix @@ -38,7 +38,7 @@ in pkgs.xdg-desktop-portal-hyprland ]; - services.displayManager.autoLogin = { + services.getty.autologinOnce = { enable = true; user = config.users.users.me.name; }; diff --git a/configs/i3status-rust.nix b/configs/i3status-rust.nix deleted file mode 100644 index e32555e..0000000 --- a/configs/i3status-rust.nix +++ /dev/null @@ -1,85 +0,0 @@ -{ - pkgs, - config, - ... -}: -{ - age.secrets = { - miniflux-api-token = { - file = ../secrets/miniflux-api-token.age; - owner = config.users.users.me.name; - group = config.users.users.me.group; - mode = "400"; - }; - }; - - home-manager.users.me = { - programs.i3status-rust = { - enable = true; - bars.bottom = { - icons = "awesome6"; - settings = { - theme.overrides = - let - colours = config.lib.stylix.colors.withHashtag; - in - { - idle_bg = colours.base00; - idle_fg = colours.base05; - good_bg = colours.base00; - good_fg = colours.base0B; - warning_bg = colours.base00; - warning_fg = colours.base0A; - critical_bg = colours.base00; - critical_fg = colours.base09; - info_bg = colours.base00; - info_fg = colours.base04; - separator_bg = colours.base00; - separator = " "; - }; - }; - blocks = [ - { - block = "music"; - format = "{$icon $combo $play |}"; - separator = " – "; - } - { - block = "net"; - format = " $icon HU"; - missing_format = ""; - device = "ppp0"; - } - { - block = "net"; - format = " $icon FU"; - missing_format = ""; - device = "tun0"; - } - { - block = "battery"; - format = "$icon $percentage $time"; - device = "DisplayDevice"; - driver = "upower"; - } - { - block = "sound"; - } - { - block = "disk_space"; - format = "$icon $available"; - } - { - block = "memory"; - format = "$icon $mem_used.eng(prefix:G)"; - } - { block = "load"; } - { - block = "time"; - format = "$icon $timestamp.datetime(f:'%Y-%m-%d (%W %a) %H:%M', l:de_DE)"; - } - ]; - }; - }; - }; -} diff --git a/configs/newsboat.nix b/configs/newsboat.nix deleted file mode 100644 index df072bf..0000000 --- a/configs/newsboat.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ - pkgs, - config, - ... -}: -{ - environment.systemPackages = [ - (pkgs.writers.writeDashBin "miniflux-watch-later" '' - miniflux_api_token=$(cat ${config.age.secrets.miniflux-api-token.path}) - random_feed_item=$( - ${pkgs.curl}/bin/curl -u "$miniflux_api_token" --basic -s 'https://feed.kmein.de/v1/entries?starred=true&limit=0' \ - | ${pkgs.jq}/bin/jq -r '.entries[].id' \ - | ${pkgs.coreutils}/bin/shuf -n1 - ) - ${pkgs.xdg-utils}/bin/xdg-open "https://feed.kmein.de/starred/entry/$random_feed_item" - '') - ]; -} diff --git a/configs/packages.nix b/configs/packages.nix index 633357b..ff4be90 100644 --- a/configs/packages.nix +++ b/configs/packages.nix @@ -176,14 +176,11 @@ in di-fm-key-file = config.age.secrets.di-fm-key.path; }) # kmein.slide - termdown + termdown # countdown timer in terminal image-convert-tolino rfc tag timer - nix-prefetch-git - nix-git - nixfmt-rfc-style comma par qrencode diff --git a/configs/tmux.nix b/configs/tmux.nix deleted file mode 100644 index bdc12f8..0000000 --- a/configs/tmux.nix +++ /dev/null @@ -1,44 +0,0 @@ -{ pkgs, ... }: -{ - environment.systemPackages = [ - pkgs.tmuxp - pkgs.reptyr # move programs over to a tmux session - ]; - - programs.tmux = { - enable = true; - keyMode = "vi"; - clock24 = true; - terminal = "screen-256color"; - baseIndex = 1; - aggressiveResize = true; - escapeTime = 50; - historyLimit = 7000; - shortcut = "b"; - extraConfig = '' - set -g mouse on - - unbind * - bind * list-clients - - # naVIgate - bind h select-pane -L - bind j select-pane -D - bind k select-pane -U - bind l select-pane -R - - # Use C-h and C-l to cycle through panes - bind -r C-h select-window -t :- - bind -r C-l select-window -t :+ - - setw -g monitor-activity on - set -g visual-activity on - - set -g status-interval 2 - set -g status-left-length 32 - set -g status-right-length 150 - - set -g status-position bottom - ''; - }; -} diff --git a/configs/zsh.nix b/configs/zsh.nix deleted file mode 100644 index 32116cb..0000000 --- a/configs/zsh.nix +++ /dev/null @@ -1,98 +0,0 @@ -{ - config, - pkgs, - ... -}: -let - promptColours.success = "cyan"; - promptColours.failure = "red"; -in -{ - programs.zsh = - let - zsh-completions = pkgs.fetchFromGitHub { - owner = "zsh-users"; - repo = "zsh-completions"; - rev = "cf565254e26bb7ce03f51889e9a29953b955b1fb"; - sha256 = "1yf4rz99acdsiy0y1v3bm65xvs2m0sl92ysz0rnnrlbd5amn283l"; - }; - in - { - enable = true; - enableCompletion = true; - autosuggestions.enable = true; - syntaxHighlighting.enable = true; - syntaxHighlighting.highlighters = [ - "main" - "brackets" - "pattern" - "line" - ]; - interactiveShellInit = '' - setopt INTERACTIVE_COMMENTS CORRECT - setopt MULTIOS - setopt AUTO_NAME_DIRS - setopt AUTOCD CDABLE_VARS - setopt HIST_IGNORE_ALL_DUPS - setopt VI - setopt AUTO_MENU - setopt COMPLETE_IN_WORD - setopt ALWAYS_TO_END - unsetopt NOMATCH - unsetopt MENU_COMPLETE - - zstyle ':completion:*:*:*:*:*' menu select - zstyle ':completion:*' matcher-list 'm:{a-zA-Z-_}={A-Za-z_-}' 'r:|=*' 'l:|=* r:|=*' - zstyle ':completion:*' special-dirs true - zstyle ':completion:*' list-colors \'\' - zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;34=0=01' - zstyle ':completion:*:*:*:*:processes' command "ps -u $USER -o pid,user,comm -w -w" - zstyle ':completion:*:cd:*' tag-order local-directories directory-stack path-directories - - export KEYTIMEOUT=1 - - hash -d nixos=/etc/nixos niveum=${config.users.users.me.home}/sync/src/niveum - - autoload -U zmv run-help edit-command-line - - fpath=(${zsh-completions}/src $fpath) - ''; - promptInit = '' - autoload -Uz vcs_info - zstyle ':vcs_info:*' enable git - zstyle ':vcs_info:*' check-for-changes true - zstyle ':vcs_info:*' stagedstr '%F{green}+%f' - zstyle ':vcs_info:*' unstagedstr '%F{red}~%f' - zstyle ':vcs_info:*' use-prompt-escapes true - zstyle ':vcs_info:*' formats "%c%u%F{cyan}%b%f" - zstyle ':vcs_info:*' actionformats "(%a) %c%u%F{cyan}%b%f" - - precmd () { - vcs_info - if [ -n "$SSH_CLIENT" ] || [ -n "$SSH_TTY" ] || [ -n "$SSH_CONNECTION" ]; then - RPROMPT="$(hostname)" - else - RPROMPT="$vcs_info_msg_0_" - fi - if [[ -n $IN_NIX_SHELL ]]; then - PROMPT='%B%~%b %(?.%F{${promptColours.success}}.%F{${promptColours.failure}})λ%f ' - else - PROMPT='%B%~%b %(?.%F{${promptColours.success}}.%F{${promptColours.failure}})%#%f ' - fi - print -Pn "\e]2;%n@%M:%~\a" # title bar prompt - } - - zle-keymap-select zle-line-init () { - case $KEYMAP in - vicmd) print -n '\e]12;green\a';; - viins|main) print -n '\e]12;gray\a';; - esac - } - - zle -N zle-line-init - zle -N zle-keymap-select - zle -N edit-command-line - bindkey -M vicmd v edit-command-line - ''; - }; -} diff --git a/flake.lock b/flake.lock index ead8505..c2d282b 100644 --- a/flake.lock +++ b/flake.lock @@ -121,7 +121,7 @@ "stockholm", "nixpkgs" ], - "treefmt-nix": "treefmt-nix" + "treefmt-nix": "treefmt-nix_2" }, "locked": { "lastModified": 1768927382, @@ -445,6 +445,26 @@ "type": "github" } }, + "niphas": { + "inputs": { + "nixpkgs": "nixpkgs", + "treefmt-nix": "treefmt-nix", + "wrappers": "wrappers" + }, + "locked": { + "lastModified": 1770197728, + "narHash": "sha256-7KFx0gTPGaQf4dwTG3Y+SB67X9OD/gYx2/JIoUa2GOU=", + "ref": "refs/heads/master", + "rev": "740a76f6ce13f7339bf26b8e591db46e72085226", + "revCount": 29, + "type": "git", + "url": "https://code.kmein.de/kfm/niphas" + }, + "original": { + "type": "git", + "url": "https://code.kmein.de/kfm/niphas" + } + }, "nix-index-database": { "inputs": { "nixpkgs": [ @@ -525,16 +545,15 @@ }, "nixpkgs": { "locked": { - "lastModified": 1769598131, - "narHash": "sha256-e7VO/kGLgRMbWtpBqdWl0uFg8Y2XWFMdz0uUJvlML8o=", + "lastModified": 1770134715, + "narHash": "sha256-bugJ+uTtL38KIh3M9vwXjTT3kt203MQbhD6ro1FcYsU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fa83fd837f3098e3e678e6cf017b2b36102c7211", + "rev": "2482bf09c2d388464c9fe0a49a39b42932fed967", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-25.11", "repo": "nixpkgs", "type": "github" } @@ -570,6 +589,22 @@ "type": "github" } }, + "nixpkgs_2": { + "locked": { + "lastModified": 1769598131, + "narHash": "sha256-e7VO/kGLgRMbWtpBqdWl0uFg8Y2XWFMdz0uUJvlML8o=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "fa83fd837f3098e3e678e6cf017b2b36102c7211", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-25.11", + "repo": "nixpkgs", + "type": "github" + } + }, "nur": { "inputs": { "flake-parts": "flake-parts_2", @@ -640,10 +675,11 @@ "menstruation-backend": "menstruation-backend", "menstruation-telegram": "menstruation-telegram", "naersk": "naersk", + "niphas": "niphas", "nix-index-database": "nix-index-database", "nix-topology": "nix-topology", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_2", "nixpkgs-old": "nixpkgs-old", "nur": "nur", "retiolum": "retiolum", @@ -652,7 +688,7 @@ "stylix": "stylix", "telebots": "telebots", "tinc-graph": "tinc-graph", - "treefmt-nix": "treefmt-nix_2", + "treefmt-nix": "treefmt-nix_3", "voidrice": "voidrice", "wallpapers": "wallpapers", "wetter": "wetter" @@ -916,6 +952,27 @@ } }, "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "niphas", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1769691507, + "narHash": "sha256-8aAYwyVzSSwIhP2glDhw/G0i5+wOrren3v6WmxkVonM=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "28b19c5844cc6e2257801d43f2772a4b4c050a1b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, + "treefmt-nix_2": { "inputs": { "nixpkgs": [ "stockholm", @@ -937,7 +994,7 @@ "type": "github" } }, - "treefmt-nix_2": { + "treefmt-nix_3": { "inputs": { "nixpkgs": [ "nixpkgs" @@ -1008,6 +1065,27 @@ "repo": "wetter", "type": "github" } + }, + "wrappers": { + "inputs": { + "nixpkgs": [ + "niphas", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1770112394, + "narHash": "sha256-H8d0WplmDeuvOM4bsHNt77T6OWiSJMaTP6UG1XyMNxA=", + "owner": "Lassulus", + "repo": "wrappers", + "rev": "23625835eb91d925c498780f5a37442ead1ae8e5", + "type": "github" + }, + "original": { + "owner": "Lassulus", + "repo": "wrappers", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index ff54e5f..3e5d44d 100644 --- a/flake.nix +++ b/flake.nix @@ -12,6 +12,7 @@ nix-index-database.url = "github:nix-community/nix-index-database"; nixpkgs-old.url = "github:NixOS/nixpkgs/50fc86b75d2744e1ab3837ef74b53f103a9b55a0"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11"; + niphas.url = "git+https://code.kmein.de/kfm/niphas"; nixos-hardware.url = "github:NixOS/nixos-hardware"; nur.url = "github:nix-community/NUR"; retiolum.url = "github:krebs/retiolum"; @@ -76,6 +77,7 @@ tinc-graph, nix-topology, nixos-hardware, + niphas, treefmt-nix, autorenkalender, telebots, @@ -231,7 +233,7 @@ auc = prev.callPackage packages/auc.nix { }; cheat-sh = prev.callPackage packages/cheat-sh.nix { }; brassica = prev.callPackage packages/brassica.nix { }; # TODO upstream - dawn-editor = prev.callPackage packages/dawn.nix {}; + dawn-editor = prev.callPackage packages/dawn.nix { }; text2pdf = prev.callPackage packages/text2pdf.nix { }; # TODO upstream wttr = prev.callPackage packages/wttr.nix { }; # TODO upstream jsesh = prev.callPackage packages/jsesh.nix { }; # TODO upstream @@ -359,7 +361,12 @@ let profiles.default = [ { nix.nixPath = [ "nixpkgs=${nixpkgs}" ]; } - { nixpkgs.overlays = [ self.overlays.default ]; } + { + nixpkgs.overlays = [ + self.overlays.default + niphas.overlays.default + ]; + } { system.autoUpgrade = { enable = true; @@ -374,15 +381,19 @@ agenix.nixosModules.default retiolum.nixosModules.retiolum nix-topology.nixosModules.default + niphas.nixosModules.nix + niphas.nixosModules.shell configs/mycelium.nix configs/tor.nix configs/retiolum.nix configs/spacetime.nix - configs/nix.nix configs/sshd.nix - configs/admin-essentials.nix ]; profiles.desktop = [ + niphas.nixosModules.editor + niphas.nixosModules.git + niphas.nixosModules.udiskie + niphas.nixosModules.desktop home-manager.nixosModules.home-manager nix-index-database.nixosModules.default nur.modules.nixos.default