diff --git a/kat/base16.nix b/kat/base16.nix index 1d1c421d..b5c01d86 100644 --- a/kat/base16.nix +++ b/kat/base16.nix @@ -2,7 +2,7 @@ inherit (lib.modules) mkMerge; in { base16 = { - vim.enable = true; + vim.enable = false; shell.enable = true; schemes = mkMerge [ { diff --git a/kat/gnome/ssh.nix b/kat/gnome/ssh.nix index 1e12fcb0..c279ca6e 100644 --- a/kat/gnome/ssh.nix +++ b/kat/gnome/ssh.nix @@ -2,12 +2,14 @@ lib, pkgs, ... -}: { +}: let + inherit (lib.strings) fileContents; +in { home.sessionVariables.GSM_SKIP_SSH_AGENT_WORKAROUND = "1"; # Disable gnome-keyring ssh-agent xdg.configFile."autostart/gnome-keyring-ssh.desktop".text = '' - ${lib.fileContents "${pkgs.gnome3.gnome-keyring}/etc/xdg/autostart/gnome-keyring-ssh.desktop"} + ${fileContents "${pkgs.gnome3.gnome-keyring}/etc/xdg/autostart/gnome-keyring-ssh.desktop"} Hidden=true ''; } diff --git a/kat/gui/mpv.nix b/kat/gui/mpv.nix index d433f160..cd614aa9 100644 --- a/kat/gui/mpv.nix +++ b/kat/gui/mpv.nix @@ -1,13 +1,13 @@ { config, lib, + std, pkgs, ... }: let + inherit (std) string set; inherit (lib.modules) mkMerge mkIf; - inherit (lib.attrsets) mapAttrsToList; in { - # TODO: fix lib usage programs.mpv = { enable = true; scripts = with pkgs.mpvScripts; [sponsorblock paused]; @@ -105,8 +105,8 @@ in { osd-border-size = 2; # font border pixels, default 3 term-osd-bar = true; script-opts = - builtins.concatStringsSep "," - (mapAttrsToList (k: v: "${k}=${toString v}") { + string.concatSep "," + (mapToValues (k: v: "${k}=${toString v}") { ytdl_hook-ytdl_path = "${pkgs.yt-dlp}/bin/yt-dlp"; osc-layout = "slimbox"; osc-vidscale = "no"; diff --git a/kat/neovim/default.nix b/kat/neovim/default.nix index cafc6896..01a37958 100644 --- a/kat/neovim/default.nix +++ b/kat/neovim/default.nix @@ -7,11 +7,10 @@ }: let inherit (lib.modules) mkIf; inherit (std) string set; - packDir = builtins.toString (pkgs.vimUtils.packDir config.programs.neovim.generatedConfigViml.configure.packages); + packDir = builtins.toString (pkgs.vimUtils.packDir config.programs.neovim.plugins); initLua = pkgs.substituteAll ({ name = "init.lua"; src = ./init.lua; - inherit packDir; base16ShellPath = config.base16.shell.package; inherit (config.base16) defaultSchemeName; defaultSchemeSlug = config.base16.defaultScheme.slug; @@ -26,6 +25,8 @@ in { vimAlias = true; viAlias = true; plugins = with pkgs.vimPlugins; [ + # Base16 manual + config.base16.vim.plugin # Libraries plenary-nvim # Disables and re-enables highlighting when searching diff --git a/kat/neovim/init.lua b/kat/neovim/init.lua index 3a0d5381..7bb61d29 100644 --- a/kat/neovim/init.lua +++ b/kat/neovim/init.lua @@ -6,12 +6,6 @@ local opt = vim.opt -- Set options (global/buffer/windows-scoped) local wo = vim.wo -- Window local variables local api = vim.api -- Lua API ------------------------------------------------------------ --- Nix Fuckery ------------------------------------------------------------ -opt.packpath:prepend{"@packDir@"} -opt.runtimepath:prepend{"@packDir@"} - ----------------------------------------------------------- -- Base16 ----------------------------------------------------------- diff --git a/kat/shell/rink.nix b/kat/shell/rink.nix index 62de687f..ecd75509 100644 --- a/kat/shell/rink.nix +++ b/kat/shell/rink.nix @@ -6,7 +6,6 @@ inherit (std) serde; in { home.packages = with pkgs; [ - #rink-readline TODO: wait for fix rink ]; diff --git a/kat/sway/konashow.nix b/kat/sway/konashow.nix index 4f896f97..b839df07 100644 --- a/kat/sway/konashow.nix +++ b/kat/sway/konashow.nix @@ -1,9 +1,4 @@ -{ - config, - lib, - ... -}: { - # TODO: fix lib use +{config, ...}: { home.packages = [ config.services.konawall.konashow ]; @@ -13,12 +8,10 @@ interval = "30m"; mode = "shuffle"; commonTags = ["width:>=1600"]; - tagList = map lib.toList [ - [ - "score:>=50" - #"no_humans" - "rating:s" - ] + tagList = [ + "score:>=50" + #"no_humans" + "rating:s" ]; }; } diff --git a/kat/sway/sway.nix b/kat/sway/sway.nix index 4ff6d414..0097b0c7 100644 --- a/kat/sway/sway.nix +++ b/kat/sway/sway.nix @@ -7,7 +7,6 @@ }: let inherit (std) list; inherit (lib.modules) mkMerge; - # TODO: fix use of lib in { programs.zsh.profileExtra = '' # If running from tty1 start sway @@ -169,13 +168,13 @@ in { "${cfg.modifier}+shift+${key}" = "move container to workspace number ${workspace}"; }; workspaceBindings = - map (v: bindWorkspace v "${v}") (list.map builtins.toString (list.range 1 9)) + list.map (v: bindWorkspace v "${v}") (list.map builtins.toString (list.range 1 9)) ++ [ ( bindWorkspace "0" "10" ) ] - ++ lib.imap1 (i: v: bindWorkspace v "${toString (10 + i)}") (list.map (n: "F${builtins.toString n}") (std.list.range 1 12)); + ++ list.imap (i: v: bindWorkspace v "${toString (11 + i)}") (list.map (n: "F${builtins.toString n}") (std.list.range 1 12)); in mkMerge ([ { diff --git a/modules/home/base16.nix b/modules/home/base16.nix index b541ebdb..a26184fe 100644 --- a/modules/home/base16.nix +++ b/modules/home/base16.nix @@ -2,10 +2,12 @@ config, pkgs, lib, + std, ... }: let inherit (lib.types) attrsOf str enum; inherit (lib.modules) mkIf; + inherit (std) string set tuple list; cfg = config.base16; in with lib; { @@ -32,14 +34,13 @@ in }; config = mkIf (cfg.schemes != {}) { base16 = { - # TODO: convert to std - palette = - lib.mapAttrs' (k: v: - lib.nameValuePair + palette = set.fromList (k: v: + tuple.toPair (tuple.tuple2 ( k - "#${v.hex}") - (lib.filterAttrs (n: _: lib.hasInfix "base" n) - cfg.defaultScheme); + "#${v.hex}" + )) + (set.filter (n: _: string.hasPrefix "base" n) + cfg.defaultScheme)); }; lib.kittywitch.sassTemplate = { @@ -47,7 +48,7 @@ in src, }: let variables = pkgs.writeText "base-variables.sass" '' - ${(concatStringsSep "\n" (mapAttrsToList (var: con: "\$${var}: ${con}") cfg.sass.variables))} + ${(string.concatSep "\n" (mapToValues (var: con: "\$${var}: ${con}") cfg.sass.variables))} ''; source = pkgs.callPackage @@ -57,7 +58,7 @@ in }: stdenv.mkDerivation { inherit name src variables; - nativeBuildInputs = lib.singleton pkgs.sass; + nativeBuildInputs = list.singleton pkgs.sass; phases = ["buildPhase"]; buildPhase = '' cat $variables $src > src-mut.sass diff --git a/modules/home/disable.nix b/modules/home/disable.nix index ba2b4e9a..a42340d6 100644 --- a/modules/home/disable.nix +++ b/modules/home/disable.nix @@ -1,3 +1,3 @@ {modulesPath, ...}: { - disabledModules = map (x: /. + "${toString modulesPath}/${x}") ["programs/neovim.nix"]; + disabledModules = map (x: /. + "${toString modulesPath}/${x}") []; } diff --git a/modules/home/neovim.nix b/modules/home/neovim.nix deleted file mode 100644 index 870c1d46..00000000 --- a/modules/home/neovim.nix +++ /dev/null @@ -1,437 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: -with lib; let - cfg = config.programs.neovim; - - jsonFormat = pkgs.formats.json {}; - - extraPython3PackageType = mkOptionType { - name = "extra-python3-packages"; - description = "python3 packages in python.withPackages format"; - check = with types; (x: - if isFunction x - then isList (x pkgs.python3Packages) - else false); - merge = mergeOneOption; - }; - - # Currently, upstream Neovim is pinned on Lua 5.1 for LuaJIT support. - # This will need to be updated if Neovim ever migrates to a newer - # version of Lua. - extraLua51PackageType = mkOptionType { - name = "extra-lua51-packages"; - description = "lua5.1 packages in lua5_1.withPackages format"; - check = with types; (x: - if isFunction x - then isList (x pkgs.lua51Packages) - else false); - merge = mergeOneOption; - }; - - pluginWithConfigType = types.submodule { - options = { - config = mkOption { - type = types.lines; - description = "Script to configure this plugin. The scripting language should match type."; - default = ""; - }; - - type = mkOption { - type = - types.either (types.enum ["lua" "viml" "teal" "fennel"]) types.str; - description = "Language used in config. Configurations are aggregated per-language."; - default = "viml"; - }; - - optional = - mkEnableOption "optional" - // { - description = "Don't load by default (load with :packadd)"; - }; - - plugin = mkOption { - type = types.package; - description = "vim plugin"; - }; - }; - }; - - # A function to get the configuration string (if any) from an element of 'plugins' - pluginConfig = p: - if p ? plugin && (p.config or "") != "" - then '' - " ${p.plugin.pname or p.plugin.name} {{{ - ${p.config} - " }}} - '' - else ""; - - allPlugins = - cfg.plugins - ++ optional cfg.coc.enable { - type = "viml"; - plugin = cfg.coc.package; - config = cfg.coc.pluginConfig; - optional = false; - }; - - moduleConfigure = { - packages.home-manager = { - start = remove null (map - (x: - if x ? plugin && x.optional - then null - else (x.plugin or x)) - allPlugins); - opt = - remove null - (map (x: - if x ? plugin && x.optional - then x.plugin - else null) - allPlugins); - }; - beforePlugins = ""; - }; - - extraMakeWrapperArgs = - lib.optionalString (cfg.extraPackages != []) - ''--suffix PATH : "${lib.makeBinPath cfg.extraPackages}"''; - extraMakeWrapperLuaCArgs = lib.optionalString (cfg.extraLuaPackages != []) '' - --suffix LUA_CPATH ";" "${ - lib.concatMapStringsSep ";" pkgs.lua51Packages.getLuaCPath - cfg.extraLuaPackages - }"''; - extraMakeWrapperLuaArgs = lib.optionalString (cfg.extraLuaPackages != []) '' - --suffix LUA_PATH ";" "${ - lib.concatMapStringsSep ";" pkgs.lua51Packages.getLuaPath - cfg.extraLuaPackages - }"''; -in { - imports = [ - (mkRemovedOptionModule ["programs" "neovim" "withPython"] - "Python2 support has been removed from neovim.") - (mkRemovedOptionModule ["programs" "neovim" "extraPythonPackages"] - "Python2 support has been removed from neovim.") - ]; - - options = { - programs.neovim = { - enable = mkEnableOption "Neovim"; - - viAlias = mkOption { - type = types.bool; - default = false; - description = '' - Symlink vi to nvim binary. - ''; - }; - - vimAlias = mkOption { - type = types.bool; - default = false; - description = '' - Symlink vim to nvim binary. - ''; - }; - - vimdiffAlias = mkOption { - type = types.bool; - default = false; - description = '' - Alias vimdiff to nvim -d. - ''; - }; - - withNodeJs = mkOption { - type = types.bool; - default = false; - description = '' - Enable node provider. Set to true to - use Node plugins. - ''; - }; - - withRuby = mkOption { - type = types.nullOr types.bool; - default = true; - description = '' - Enable ruby provider. - ''; - }; - - withPython3 = mkOption { - type = types.bool; - default = true; - description = '' - Enable Python 3 provider. Set to true to - use Python 3 plugins. - ''; - }; - generatedConfigViml = mkOption { - type = types.unspecified; - visible = true; - readOnly = true; - description = '' - Generated vimscript config. - ''; - }; - extraPython3Packages = mkOption { - type = with types; either extraPython3PackageType (listOf package); - default = _: []; - defaultText = literalExpression "ps: [ ]"; - example = literalExpression "(ps: with ps; [ python-language-server ])"; - description = '' - A function in python.withPackages format, which returns a - list of Python 3 packages required for your plugins to work. - ''; - }; - - extraLuaPackages = mkOption { - type = with types; either extraLua51PackageType (listOf package); - default = []; - defaultText = literalExpression "[ ]"; - example = literalExpression "(ps: with ps; [ luautf8 ])"; - description = '' - A function in lua5_1.withPackages format, which returns a - list of Lua packages required for your plugins to work. - ''; - }; - - generatedConfigs = mkOption { - type = types.attrsOf types.lines; - visible = true; - readOnly = true; - example = literalExpression '' - { - viml = ''' - " Generated by home-manager - set packpath^=/nix/store/cn8vvv4ymxjf8cfzg7db15b2838nqqib-vim-pack-dir - set runtimepath^=/nix/store/cn8vvv4ymxjf8cfzg7db15b2838nqqib-vim-pack-dir - '''; - - lua = ''' - -- Generated by home-manager - vim.opt.background = "dark" - '''; - }''; - description = '' - Generated configurations with as key their language (set via type). - ''; - }; - - package = mkOption { - type = types.package; - default = pkgs.neovim-unwrapped; - defaultText = literalExpression "pkgs.neovim-unwrapped"; - description = "The package to use for the neovim binary."; - }; - - finalPackage = mkOption { - type = types.package; - visible = false; - readOnly = true; - description = "Resulting customized neovim package."; - }; - - configure = mkOption { - type = types.attrsOf types.anything; - default = {}; - example = literalExpression '' - configure = { - customRC = $'''' - " here your custom configuration goes! - $''''; - packages.myVimPackage = with pkgs.vimPlugins; { - # loaded on launch - start = [ fugitive ]; - # manually loadable by calling `:packadd $plugin-name` - opt = [ ]; - }; - }; - ''; - description = '' - Deprecated. Please use the other options. - - Generate your init file from your list of plugins and custom commands, - and loads it from the store via nvim -u /nix/store/hash-vimrc - - - - This option is mutually exclusive with extraConfig - and plugins. - ''; - }; - - extraConfig = mkOption { - type = types.lines; - default = ""; - example = '' - set nocompatible - set nobackup - ''; - description = '' - Custom vimrc lines. - - - - This option is mutually exclusive with configure. - ''; - }; - - extraPackages = mkOption { - type = with types; listOf package; - default = []; - example = literalExpression "[ pkgs.shfmt ]"; - description = "Extra packages available to nvim."; - }; - - plugins = mkOption { - type = with types; listOf (either package pluginWithConfigType); - default = []; - example = literalExpression '' - with pkgs.vimPlugins; [ - yankring - vim-nix - { plugin = vim-startify; - config = "let g:startify_change_to_vcs_root = 0"; - } - ] - ''; - description = '' - List of vim plugins to install optionally associated with - configuration to be placed in init.vim. - - - - This option is mutually exclusive with configure. - ''; - }; - - coc = { - enable = mkEnableOption "Coc"; - - package = mkOption { - type = types.package; - default = pkgs.vimPlugins.coc-nvim; - defaultText = literalExpression "pkgs.vimPlugins.coc-nvim"; - description = "The package to use for the CoC plugin."; - }; - - settings = mkOption { - inherit (jsonFormat) type; - default = {}; - example = literalExpression '' - { - "suggest.noselect" = true; - "suggest.enablePreview" = true; - "suggest.enablePreselect" = false; - "suggest.disableKind" = true; - languageserver = { - haskell = { - command = "haskell-language-server-wrapper"; - args = [ "--lsp" ]; - rootPatterns = [ - "*.cabal" - "stack.yaml" - "cabal.project" - "package.yaml" - "hie.yaml" - ]; - filetypes = [ "haskell" "lhaskell" ]; - }; - }; - }; - ''; - description = '' - Extra configuration lines to add to - $XDG_CONFIG_HOME/nvim/coc-settings.json - See - - for options. - ''; - }; - - pluginConfig = mkOption { - type = types.lines; - default = ""; - description = "Script to configure CoC. Must be viml."; - }; - }; - }; - }; - - config = let - # transform all plugins into an attrset - pluginsNormalized = map (x: - if (x ? plugin) - then x - else { - type = x.type or "viml"; - plugin = x; - config = ""; - optional = false; - }) - allPlugins; - suppressNotVimlConfig = p: - if p.type != "viml" - then p // {config = "";} - else p; - - neovimConfig = pkgs.neovimUtils.makeNeovimConfig { - inherit (cfg) extraPython3Packages withPython3 withRuby viAlias vimAlias; - withNodeJs = cfg.withNodeJs || cfg.coc.enable; - configure = cfg.configure // moduleConfigure; - plugins = map suppressNotVimlConfig pluginsNormalized; - customRC = cfg.extraConfig; - }; - in - mkIf cfg.enable { - warnings = optional (cfg.configure != {}) '' - programs.neovim.configure is deprecated. - Other programs.neovim options can override its settings or ignore them. - Please use the other options at your disposal: - configure.packages.*.opt -> programs.neovim.plugins = [ { plugin = ...; optional = true; }] - configure.packages.*.start -> programs.neovim.plugins = [ { plugin = ...; }] - configure.customRC -> programs.neovim.extraConfig - ''; - programs.neovim.generatedConfigViml = neovimConfig; - programs.neovim.generatedConfigs = let - grouped = builtins.groupBy (x: x.type) pluginsNormalized; - concatConfigs = lib.concatMapStrings (p: p.config); - in - mapAttrs (_: concatConfigs) grouped; - - home.packages = [cfg.finalPackage]; - - xdg.configFile."nvim/lua/init-home-manager.lua" = mkIf (hasAttr "lua" config.programs.neovim.generatedConfigs) { - text = config.programs.neovim.generatedConfigs.lua; - }; - xdg.configFile."nvim/coc-settings.json" = mkIf cfg.coc.enable { - source = jsonFormat.generate "coc-settings.json" cfg.coc.settings; - }; - - programs.neovim.finalPackage = - pkgs.wrapNeovimUnstable cfg.package - (neovimConfig - // { - wrapperArgs = - (lib.escapeShellArgs neovimConfig.wrapperArgs) - + " " - + extraMakeWrapperArgs - + " " - + extraMakeWrapperLuaCArgs - + " " - + extraMakeWrapperLuaArgs; - wrapRc = false; - }); - - programs.bash.shellAliases = mkIf cfg.vimdiffAlias {vimdiff = "nvim -d";}; - programs.fish.shellAliases = mkIf cfg.vimdiffAlias {vimdiff = "nvim -d";}; - programs.zsh.shellAliases = mkIf cfg.vimdiffAlias {vimdiff = "nvim -d";}; - }; -} diff --git a/nixos/common/access.nix b/nixos/common/access.nix index 6acce36d..0352e7b3 100644 --- a/nixos/common/access.nix +++ b/nixos/common/access.nix @@ -1,15 +1,13 @@ { config, - lib, + std, ... }: let - # TODO: solve lib usage - inherit (lib.lists) concatLists elem; - inherit (lib.attrsets) mapAttrsToList; + inherit (std) list set; commonUser = { - openssh.authorizedKeys.keys = concatLists (mapAttrsToList + openssh.authorizedKeys.keys = list.concat (set.mapToValues (_: user: - if elem "wheel" user.extraGroups + if list.elem "wheel" user.extraGroups then user.openssh.authorizedKeys.keys else []) config.users.users); diff --git a/nixos/roles/matrix-homeserver/nginx.nix b/nixos/roles/matrix-homeserver/nginx.nix index 74e2f08b..3a30ef05 100644 --- a/nixos/roles/matrix-homeserver/nginx.nix +++ b/nixos/roles/matrix-homeserver/nginx.nix @@ -1,15 +1,5 @@ {config, ...}: let fqdn = "${config.networking.hostName}.${config.networking.domain}"; - clientConfig = { - "m.homeserver".base_url = "https://${fqdn}"; - "m.identity_server".base_url = "https://vector.im"; - }; - serverConfig."m.server" = "${fqdn}:443"; - mkWellKnown = data: '' - add_header Content-Type application/json; - add_header Access-Control-Allow-Origin *; - return 200 '${builtins.toJSON data}'; - ''; in { services.nginx = { virtualHosts = { diff --git a/nixos/roles/matrix-homeserver/scalpel.nix b/nixos/roles/matrix-homeserver/scalpel.nix index cdd4b4c6..f6c970ec 100644 --- a/nixos/roles/matrix-homeserver/scalpel.nix +++ b/nixos/roles/matrix-homeserver/scalpel.nix @@ -4,10 +4,11 @@ prev, ... }: let + inherit (lib.modules) mkForce; start = prev.config.systemd.services.matrix-synapse.serviceConfig.ExecStart; synapse_cfgfile = builtins.head (builtins.match "^.*--config-path ([^\ ]*).*$" "${start}"); in { - systemd.services.matrix-synapse.serviceConfig.ExecStart = lib.mkForce ( + systemd.services.matrix-synapse.serviceConfig.ExecStart = mkForce ( builtins.replaceStrings ["${synapse_cfgfile}"] ["${config.scalpel.trafos."homeserver.yaml".destination} "] "${start}" ); scalpel.trafos."homeserver.yaml" = { diff --git a/nixos/roles/matrix-homeserver/synapse.nix b/nixos/roles/matrix-homeserver/synapse.nix index 2aa51ef2..c6116b0b 100644 --- a/nixos/roles/matrix-homeserver/synapse.nix +++ b/nixos/roles/matrix-homeserver/synapse.nix @@ -15,14 +15,14 @@ in { rc_messages_per_second = mkDefault 0.1; rc_message_burst_count = mkDefault 25; public_baseurl = "https://${fqdn}"; - url_preview_enabled = mkDefault true; - enable_registration = mkDefault false; - enable_metrics = mkDefault true; - report_stats = mkDefault false; - dynamic_thumbnails = mkDefault true; + url_preview_enabled = true; + enable_registration = false; + enable_metrics = true; + report_stats = false; + dynamic_thumbnails = true; registration_shared_secret = "!!MATRIX_SHARED_REGISTRATION_SECRET!!"; - allow_guest_access = mkDefault true; - suppress_key_server_warning = mkDefault true; + allow_guest_access = true; + suppress_key_server_warning = true; listeners = [ { port = 8009; diff --git a/nixos/roles/monitoring-server/scalpel.nix b/nixos/roles/monitoring-server/scalpel.nix index 54774c65..25220327 100644 --- a/nixos/roles/monitoring-server/scalpel.nix +++ b/nixos/roles/monitoring-server/scalpel.nix @@ -5,10 +5,11 @@ ... }: let inherit (lib.strings) addContextFrom; + inherit (lib.modules) mkForce; start = prev.config.systemd.services.telegraf.serviceConfig.ExecStart; telegraf_cfgfile = builtins.head (builtins.match "^.*-config ([^\ ]*).*$" "${start}"); in { - systemd.services.telegraf.serviceConfig.ExecStart = lib.mkForce ( + systemd.services.telegraf.serviceConfig.ExecStart = mkForce ( builtins.replaceStrings ["${telegraf_cfgfile}"] ["${config.scalpel.trafos."config.toml".destination} "] "${start}" ); scalpel.trafos."config.toml" = { diff --git a/nixos/roles/vaultwarden-server/vaultwarden.nix b/nixos/roles/vaultwarden-server/vaultwarden.nix index 1486d3db..c2d269ee 100644 --- a/nixos/roles/vaultwarden-server/vaultwarden.nix +++ b/nixos/roles/vaultwarden-server/vaultwarden.nix @@ -1,10 +1,4 @@ -{ - config, - pkgs, - lib, - ... -}: -with lib; { +_: { users.users.vaultwarden.name = "bitwarden_rs"; users.groups.vaultwarden.name = "bitwarden_rs"; diff --git a/systems/sumireko.nix b/systems/sumireko.nix index a888e0ed..c5df004c 100644 --- a/systems/sumireko.nix +++ b/systems/sumireko.nix @@ -3,10 +3,10 @@ _: let tree, pkgs, inputs, - lib, + std, ... }: let - inherit (lib.strings) concatStringsSep; + inherit (std) string; in { imports = with tree; [ kat.work @@ -65,7 +65,7 @@ _: let home-manager.users.kat = { home.file.".orbstack/ssh/authorized_keys".text = - (concatStringsSep "\n" tree.kat.user.data.keys) + (string.concatSep "\n" tree.kat.user.data.keys) + '' ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILW2V8yL2vC/KDmIQdxhEeevKo1vGG18bvMNj9mLL/On diff --git a/systems/yukari.nix b/systems/yukari.nix index 1923c91c..bacab290 100644 --- a/systems/yukari.nix +++ b/systems/yukari.nix @@ -4,7 +4,9 @@ _: let tree, modulesPath, ... - }: { + }: let + inherit (lib.modules) mkDefault; + in { imports = [ (modulesPath + "/profiles/qemu-guest.nix") @@ -44,7 +46,7 @@ _: let domain = "gensokyo.zone"; interfaces = { enp1s0 = { - useDHCP = lib.mkDefault true; + useDHCP = mkDefault true; ipv6.addresses = [ { address = "2a01:4ff:1f0:e7bb::1";