This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

*: nix fmt

+160 -145
+24 -15
flake.nix
··· 100 100 ]; 101 101 }; 102 102 }; 103 - machines = nixpkgs.lib.mapAttrs (machineName: _: { 104 - imports = [ 105 - ./machines/${machineName}/physical.nix 106 - ]; 107 - }) (nixpkgs.lib.filterAttrs (machineName: _: builtins.pathExists ./machines/${machineName}/physical.nix) (builtins.readDir ./machines)); 103 + machines = 104 + nixpkgs.lib.mapAttrs 105 + (machineName: _: { 106 + imports = [ 107 + ./machines/${machineName}/physical.nix 108 + ]; 109 + }) 110 + ( 111 + nixpkgs.lib.filterAttrs ( 112 + machineName: _: builtins.pathExists ./machines/${machineName}/physical.nix 113 + ) (builtins.readDir ./machines) 114 + ); 108 115 }; 109 116 in 110 117 flake-parts.lib.mkFlake { inherit inputs; } { ··· 114 121 "aarch64-darwin" 115 122 "x86_64-darwin" 116 123 ]; 117 - imports = [ 118 - ./formatter.nix 119 - ] ++ ( 120 - # Auto-import all flake-module.nix files from tools subdirectories 121 - let 122 - toolDirs = builtins.attrNames (nixpkgs.lib.filterAttrs 123 - (_: type: type == "directory") 124 - (builtins.readDir ./tools)); 125 - in 124 + imports = 125 + [ 126 + ./formatter.nix 127 + ] 128 + ++ ( 129 + # Auto-import all flake-module.nix files from tools subdirectories 130 + let 131 + toolDirs = builtins.attrNames ( 132 + nixpkgs.lib.filterAttrs (_: type: type == "directory") (builtins.readDir ./tools) 133 + ); 134 + in 126 135 map (dir: ./tools + "/${dir}/flake-module.nix") toolDirs 127 - ); 136 + ); 128 137 flake.nixosConfigurations = clan.nixosConfigurations; 129 138 flake.clanInternals = clan.clanInternals; 130 139 flake.darwinConfigurations = clan.darwinConfigurations;
+5 -1
2configs/container-tests.nix
··· 9 9 nix.settings.auto-allocate-uids = true; 10 10 11 11 # for container in builds support 12 - nix.settings.system-features = [ "uid-range" "kvm" "nixos-test" ]; 12 + nix.settings.system-features = [ 13 + "uid-range" 14 + "kvm" 15 + "nixos-test" 16 + ]; 13 17 }
+7 -7
2configs/default.nix
··· 11 11 clan.core.facts.secretUploadDirectory = lib.mkDefault "/etc/secrets"; 12 12 clan.core.vars.settings.secretStore = "password-store"; 13 13 clan.core.networking.targetHost = "root@${config.networking.hostName}"; 14 - 14 + 15 15 # Stockholm configuration 16 16 krebs.secret.directory = config.clan.core.facts.secretUploadDirectory; 17 - 17 + 18 18 # Nixpkgs overlays 19 19 nixpkgs.overlays = [ 20 20 self.inputs.stockholm.overlays.default ··· 24 24 imports = [ 25 25 # Import 3modules 26 26 ../3modules 27 - 27 + 28 28 # Import stockholm krebs module 29 29 self.inputs.stockholm.nixosModules.krebs 30 - 30 + 31 31 # Import individual configurations 32 32 ./security-workarounds.nix 33 33 # ./binary-cache/client.nix ··· 44 44 ./nether.nix 45 45 ./spora.nix 46 46 ./nix.nix 47 - 47 + 48 48 # Import stockholm modules 49 49 self.inputs.stockholm.nixosModules.users 50 50 self.inputs.stockholm.nixosModules.hosts ··· 64 64 self.inputs.stockholm.nixosModules.xresources 65 65 self.inputs.stockholm.nixosModules.ssh 66 66 self.inputs.stockholm.nixosModules.sync-containers3 67 - { # nix-index 67 + { 68 + # nix-index 68 69 imports = [ 69 70 self.inputs.nix-index-database.nixosModules.nix-index 70 71 ]; ··· 345 346 ]; 346 347 }; 347 348 }; 348 - 349 349 350 350 networking.extraHosts = '' 351 351 10.42.0.1 styx.gg23
+2 -4
2configs/exim-smarthost.nix
··· 57 57 config.krebs.hosts.mors 58 58 config.krebs.hosts.xerxes 59 59 ]; 60 - internet-aliases = 61 - map (from: { inherit from to; }) mails 62 - ++ [ 63 - ]; 60 + internet-aliases = map (from: { inherit from to; }) mails ++ [ 61 + ]; 64 62 system-aliases = [ 65 63 { 66 64 from = "mailer-daemon";
+1 -1
2configs/networkd.nix
··· 1 - { lib, ... }: 1 + { ... }: 2 2 { 3 3 4 4 networking.useNetworkd = true;
+14 -16
3modules/klem.nix
··· 67 67 68 68 #run the chosen script 69 69 case $script in 70 - ${ 71 - concatMapStringsSep "\n" ( 72 - script: 73 - slib.indent '' 74 - ${script.label}) 75 - target=$(${pkgs.xclip}/bin/xclip -selection clipboard -target TARGETS -out \ 76 - | ${pkgs.gnugrep}/bin/grep '${script.target}' \ 77 - | ${pkgs.gnugrep}/bin/grep -v TARGETS \ 78 - | ${pkgs.coreutils}/bin/head -1) 79 - ${pkgs.xclip}/bin/xclip -selection clipboard -target "$target" -out \ 80 - | ${script.script} \ 81 - | ${pkgs.xclip}/bin/xclip -selection clipboard -in 82 - ;; 83 - '' 84 - ) (attrValues cfg) 85 - } 70 + ${concatMapStringsSep "\n" ( 71 + script: 72 + slib.indent '' 73 + ${script.label}) 74 + target=$(${pkgs.xclip}/bin/xclip -selection clipboard -target TARGETS -out \ 75 + | ${pkgs.gnugrep}/bin/grep '${script.target}' \ 76 + | ${pkgs.gnugrep}/bin/grep -v TARGETS \ 77 + | ${pkgs.coreutils}/bin/head -1) 78 + ${pkgs.xclip}/bin/xclip -selection clipboard -target "$target" -out \ 79 + | ${script.script} \ 80 + | ${pkgs.xclip}/bin/xclip -selection clipboard -in 81 + ;; 82 + '' 83 + ) (attrValues cfg)} 86 84 esac 87 85 ''; 88 86 in
+8 -9
2configs/websites/util.nix
··· 4 4 5 5 rec { 6 6 7 - ssl = 8 - _domains: 9 - { 10 - }; 7 + ssl = _domains: { 8 + }; 11 9 12 10 servePage = 13 11 domains: ··· 163 161 include ${pkgs.nginx}/conf/fastcgi.conf; 164 162 ''; 165 163 #Directives to send expires headers and turn off 404 error logging. 166 - locations."~* ^.+\.(xml|ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|rss|atom|js|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$".extraConfig = '' 167 - access_log off; 168 - log_not_found off; 169 - expires max; 170 - ''; 164 + locations."~* ^.+\.(xml|ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|rss|atom|js|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$".extraConfig = 165 + '' 166 + access_log off; 167 + log_not_found off; 168 + expires max; 169 + ''; 171 170 locations."/nb".extraConfig = '' 172 171 index index.html; 173 172 '';
+1 -2
machines/ignavia/physical.nix
··· 1 - { self, modulesPath, pkgs, ... }: 1 + { self, modulesPath, ... }: 2 2 { 3 3 imports = [ 4 4 ./config.nix ··· 20 20 # }) { 21 21 # inherit (pkgs) system; 22 22 # }).fwupd; 23 - 24 23 25 24 krebs.power-action.battery = "BAT1"; 26 25
+2 -3
machines/neoprism/disk.nix
··· 69 69 type = "zpool"; 70 70 mode = "mirror"; 71 71 mountpoint = "/"; 72 - rootFsOptions = 73 - { 74 - }; 72 + rootFsOptions = { 73 + }; 75 74 datasets = { 76 75 reserved = { 77 76 type = "zfs_fs";
-1
machines/prism/config.nix
··· 2 2 self, 3 3 config, 4 4 lib, 5 - pkgs, 6 5 ... 7 6 }: 8 7 let
+1 -1
tools/jellyseekrr/flake-module.nix
··· 14 14 text = builtins.readFile ./jellyseekrr.sh; 15 15 }; 16 16 }; 17 - } 17 + }
+1 -1
tools/menu/flake-module.nix
··· 2 2 { 3 3 perSystem = 4 4 { pkgs, ... }: 5 - { 5 + { 6 6 packages.menu = 7 7 if pkgs.stdenv.hostPlatform.isDarwin then 8 8 (pkgs.writeShellApplication {
+47 -44
tools/mpv/flake-module.nix
··· 1 1 { self, ... }: 2 2 { 3 3 perSystem = 4 - { pkgs, lib, ... }: 4 + { pkgs, ... }: 5 5 { 6 - packages.mpv = 6 + packages.mpv = 7 7 let 8 8 mpvInput = pkgs.writeText "mpv.input" '' 9 9 : script-binding console/enable ··· 65 65 }; 66 66 67 67 in 68 - pkgs.writeShellApplication { 69 - name = "mpv"; 70 - runtimeInputs = [ 71 - mpvPackage 72 - pkgs.yt-dlp 73 - ]; 74 - text = '' 75 - Y_RES=1081 76 - # we need to disable sponsorblock local database because of 77 - # https://github.com/po5/mpv_sponsorblock/issues/31 78 - exec mpv \ 79 - --no-config \ 80 - --input-conf=${mpvInput} \ 81 - --include=${mpvConfig} \ 82 - --script=${autosub} \ 83 - --ytdl-format="best[height<$Y_RES]" \ 84 - --script-opts=ytdl_hook-ytdl_path=${pkgs.yt-dlp}/bin/yt-dlp \ 85 - --script-opts-append=sponsorblock-local_database=no \ 86 - --audio-channels=2 \ 87 - "$@" 88 - ''; 89 - }; 68 + pkgs.writeShellApplication { 69 + name = "mpv"; 70 + runtimeInputs = [ 71 + mpvPackage 72 + pkgs.yt-dlp 73 + ]; 74 + text = '' 75 + Y_RES=1081 76 + # we need to disable sponsorblock local database because of 77 + # https://github.com/po5/mpv_sponsorblock/issues/31 78 + exec mpv \ 79 + --no-config \ 80 + --input-conf=${mpvInput} \ 81 + --include=${mpvConfig} \ 82 + --script=${autosub} \ 83 + --ytdl-format="best[height<$Y_RES]" \ 84 + --script-opts=ytdl_hook-ytdl_path=${pkgs.yt-dlp}/bin/yt-dlp \ 85 + --script-opts-append=sponsorblock-local_database=no \ 86 + --audio-channels=2 \ 87 + "$@" 88 + ''; 89 + }; 90 90 91 91 # Separate package for subtitle downloader 92 - packages.mpv-dl-subs = pkgs.writers.writePython3Bin "dl_subs" { 93 - libraries = [ pkgs.python3Packages.subliminal ]; 94 - flakeIgnore = [ "E501" ]; 95 - } '' 96 - import babelfish 97 - import subliminal 98 - from pathlib import Path 99 - import sys 100 - import os 92 + packages.mpv-dl-subs = 93 + pkgs.writers.writePython3Bin "dl_subs" 94 + { 95 + libraries = [ pkgs.python3Packages.subliminal ]; 96 + flakeIgnore = [ "E501" ]; 97 + } 98 + '' 99 + import babelfish 100 + import subliminal 101 + from pathlib import Path 102 + import sys 103 + import os 101 104 102 - video_path = Path(sys.argv[1]) 103 - video = subliminal.scan_video(video_path) 104 - cache_path = Path(os.path.expanduser("~/.cache/subliminal")) / f"{video.title}.srt" 105 - if not cache_path.exists(): 106 - cache_path.parent.mkdir(parents=True, exist_ok=True) 107 - language = babelfish.Language("eng") 108 - sub = subliminal.download_best_subtitles([video], {language})[video][0] 109 - cache_path.write_bytes(sub.content) 110 - print(cache_path) 111 - ''; 105 + video_path = Path(sys.argv[1]) 106 + video = subliminal.scan_video(video_path) 107 + cache_path = Path(os.path.expanduser("~/.cache/subliminal")) / f"{video.title}.srt" 108 + if not cache_path.exists(): 109 + cache_path.parent.mkdir(parents=True, exist_ok=True) 110 + language = babelfish.Language("eng") 111 + sub = subliminal.download_best_subtitles([video], {language})[video][0] 112 + cache_path.write_bytes(sub.content) 113 + print(cache_path) 114 + ''; 112 115 }; 113 - } 116 + }
+13 -9
tools/muchsync/flake-module.nix
··· 8 8 paths = [ 9 9 (pkgs.writeShellApplication { 10 10 name = "muchsync"; 11 - runtimeInputs = [ 12 - pkgs.muchsync 13 - pkgs.notmuch 14 - ] ++ lib.optionals pkgs.stdenv.isLinux [ 15 - pkgs.iputils 16 - ]; 11 + runtimeInputs = 12 + [ 13 + pkgs.muchsync 14 + pkgs.notmuch 15 + ] 16 + ++ lib.optionals pkgs.stdenv.isLinux [ 17 + pkgs.iputils 18 + ]; 17 19 text = '' 18 - export NOTMUCH_CONFIG=${pkgs.writeText "notmuch-config" self.packages.${pkgs.system}.mutt.passthru.notmuchConfig} 19 - 20 + export NOTMUCH_CONFIG=${ 21 + pkgs.writeText "notmuch-config" self.packages.${pkgs.system}.mutt.passthru.notmuchConfig 22 + } 23 + 20 24 set -efu 21 25 22 26 # Create Maildir structure if it doesn't exist ··· 79 83 ]; 80 84 }; 81 85 }; 82 - } 86 + }
+17 -14
tools/mutt/flake-module.nix
··· 3 3 perSystem = 4 4 { pkgs, lib, ... }: 5 5 { 6 - packages.mutt = 6 + packages.mutt = 7 7 let 8 8 # Mailboxes configuration from mail.nix 9 9 mailboxes = { ··· 257 257 ''; 258 258 259 259 in 260 - (pkgs.writeShellApplication { 261 - name = "mutt"; 262 - runtimeInputs = [ 260 + (pkgs.writeShellApplication { 261 + name = "mutt"; 262 + runtimeInputs = 263 + [ 263 264 pkgs.neomutt 264 265 pkgs.elinks 265 266 pkgs.msmtp 266 267 pkgs.notmuch 267 268 pkgs.urlscan 268 - ] ++ lib.optionals pkgs.stdenv.isLinux [ 269 + ] 270 + ++ lib.optionals pkgs.stdenv.isLinux [ 269 271 pkgs.iputils 270 272 ]; 271 - text = '' 272 - export NOTMUCH_CONFIG_FILE=${pkgs.writeText "notmuch-config" notmuchConfig} 273 - export MUTTRC=${muttrc} 274 - ${builtins.readFile ./mutt.sh} 275 - ''; 276 - }) // { 277 - passthru.notmuchConfig = notmuchConfig; 278 - }; 273 + text = '' 274 + export NOTMUCH_CONFIG_FILE=${pkgs.writeText "notmuch-config" notmuchConfig} 275 + export MUTTRC=${muttrc} 276 + ${builtins.readFile ./mutt.sh} 277 + ''; 278 + }) 279 + // { 280 + passthru.notmuchConfig = notmuchConfig; 281 + }; 279 282 }; 280 - } 283 + }
+1 -1
tools/nvim/flake-module.nix
··· 23 23 }; 24 24 }; 25 25 }; 26 - globals = { 26 + globals = { 27 27 mapleader = " "; 28 28 lumen_light_colorscheme = "everforest"; 29 29 lumen_dark_colorscheme = "ayu";
+10 -7
tools/passmenu/flake-module.nix
··· 5 5 { 6 6 packages.passmenu = pkgs.writeShellApplication { 7 7 name = "passmenu"; 8 - runtimeInputs = with pkgs; [ 9 - self.packages.${pkgs.system}.menu 10 - self.packages.${pkgs.system}.pass 11 - ] ++ pkgs.lib.optionals pkgs.stdenv.isLinux [ 12 - wtype 13 - xdotool 14 - ]; 8 + runtimeInputs = 9 + with pkgs; 10 + [ 11 + self.packages.${pkgs.system}.menu 12 + self.packages.${pkgs.system}.pass 13 + ] 14 + ++ pkgs.lib.optionals pkgs.stdenv.isLinux [ 15 + wtype 16 + xdotool 17 + ]; 15 18 text = '' 16 19 set -eu 17 20 shopt -s nullglob globstar
+2 -2
tools/tornade/flake-module.nix
··· 1 - { self, ... }: 1 + { ... }: 2 2 { 3 3 perSystem = 4 4 { pkgs, ... }: ··· 14 14 text = builtins.readFile ./tornade.sh; 15 15 }; 16 16 }; 17 - } 17 + }
+2 -2
tools/wifi-qr/flake-module.nix
··· 1 - 2 1 { ... }: 3 2 { 4 3 perSystem = 5 - { pkgs, ... }: { 4 + { pkgs, ... }: 5 + { 6 6 packages.wifi-qr = pkgs.writeShellApplication { 7 7 name = "wifi-qr"; 8 8 runtimeInputs = [
+1 -1
2configs/desktops/qtile/nixos.nix
··· 1 - { pkgs, lib, self, ... }: 1 + { pkgs, lib, ... }: 2 2 let 3 3 # qtile = 4 4 # (pkgs.python3.pkgs.qtile.override {
-1
2configs/desktops/xmonad/default.nix
··· 1 1 { 2 - self, 3 2 config, 4 3 lib, 5 4 pkgs,
+1 -1
2configs/services/pad/module.nix
··· 58 58 config.clan.core.vars.generators.hedgedoc.files."hedgedoc.env".path 59 59 ]; 60 60 clan.core.vars.generators.hedgedoc = { 61 - files."hedgedoc.env" = {}; 61 + files."hedgedoc.env" = { }; 62 62 runtimeInputs = [ pkgs.pwgen ]; 63 63 script = '' 64 64 pwgen -s 64 1 > session_secret
-2
2configs/services/radio/default.nix
··· 172 172 173 173 NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration"; 174 174 175 - 176 - 177 175 buildInputs = old.buildInputs ++ [ pkgs.pkg-config ]; 178 176 }); 179 177 };