semi-major-ish cleanup throughout tree
This commit is contained in:
parent
610ae7c5fc
commit
25af328bfa
9 changed files with 170 additions and 107 deletions
34
flake.lock
generated
34
flake.lock
generated
|
|
@ -1,5 +1,23 @@
|
||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
|
"flake-utils": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1731533236,
|
||||||
|
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
|
@ -55,10 +73,26 @@
|
||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable"
|
"nixpkgs-unstable": "nixpkgs-unstable"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"systems": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": "root",
|
"root": "root",
|
||||||
|
|
|
||||||
14
flake.nix
14
flake.nix
|
|
@ -12,6 +12,9 @@
|
||||||
url = "github:nix-community/home-manager/release-26.05";
|
url = "github:nix-community/home-manager/release-26.05";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
flake-utils = {
|
||||||
|
url = "github:numtide/flake-utils";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs @ {
|
outputs = inputs @ {
|
||||||
|
|
@ -19,14 +22,19 @@
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
nixpkgs-unstable,
|
nixpkgs-unstable,
|
||||||
home-manager,
|
home-manager,
|
||||||
|
flake-utils,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
|
flake-utils.lib.eachDefaultSystem (system: let
|
||||||
|
pkgs = nixpkgs.legacyPackages.${system};
|
||||||
|
in {
|
||||||
|
formatter = pkgs.alejandra;
|
||||||
|
})
|
||||||
|
// {
|
||||||
nixosConfigurations.phostron = nixpkgs.lib.nixosSystem {
|
nixosConfigurations.phostron = nixpkgs.lib.nixosSystem {
|
||||||
specialArgs = {inherit inputs;};
|
specialArgs = {inherit inputs;};
|
||||||
modules = [
|
modules = [
|
||||||
./hosts/phostron
|
./hosts/phostron
|
||||||
./modules/users/coyote
|
|
||||||
./modules/users/coyote/home-manager-module.nix
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,4 @@
|
||||||
{
|
{pkgs, ...}: {
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
inputs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
imports = [
|
||||||
./vim.nix
|
./vim.nix
|
||||||
];
|
];
|
||||||
|
|
@ -45,14 +39,58 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
|
home-manager.enable = true;
|
||||||
|
|
||||||
|
ssh = {
|
||||||
|
enable = true;
|
||||||
|
enableDefaultConfig = false;
|
||||||
|
settings."*" = {
|
||||||
|
ForwardAgent = false;
|
||||||
|
AddKeysToAgent = "yes"; # no passphrase, silent auto-add
|
||||||
|
Compression = false;
|
||||||
|
ServerAliveInterval = 0;
|
||||||
|
ServerAliveCountMax = 3;
|
||||||
|
HashKnownHosts = false;
|
||||||
|
UserKnownHostsFile = "~/.ssh/known_hosts";
|
||||||
|
ControlMaster = "no";
|
||||||
|
ControlPath = "~/.ssh/master-%r@%n:%p";
|
||||||
|
ControlPersist = "no";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
git = {
|
||||||
|
enable = true;
|
||||||
|
userName = "asnev";
|
||||||
|
userEmail = "notasnev@proton.me";
|
||||||
|
signing = {
|
||||||
|
key = "/home/coyote/.ssh/id_ed25519.pub";
|
||||||
|
format = "ssh";
|
||||||
|
};
|
||||||
|
includes = [
|
||||||
|
{
|
||||||
|
condition = "gitdir:/home/coyote/NixOS/";
|
||||||
|
contents.core.sshCommand = "ssh -i /home/coyote/.ssh/id_ed25519";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
fish.enable = true;
|
||||||
|
fish.shellAbbrs = {
|
||||||
|
l = "eza --grid --all";
|
||||||
|
ll = "eza --long --all";
|
||||||
|
ls = "eza";
|
||||||
|
".." = "cd ..";
|
||||||
|
"..." = "cd ../..";
|
||||||
|
};
|
||||||
|
|
||||||
tmux = {
|
tmux = {
|
||||||
enable = true;
|
enable = true;
|
||||||
clock24 = true;
|
clock24 = true;
|
||||||
baseIndex = 1;
|
baseIndex = 1;
|
||||||
shortcut = "a";
|
shortcut = "a";
|
||||||
keyMode = "vi";
|
keyMode = "vi";
|
||||||
terminal = "screen-256color";
|
terminal = "tmux-256color";
|
||||||
escapeTime = 0;
|
escapeTime = 10;
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
set -g pane-base-index 1
|
set -g pane-base-index 1
|
||||||
set-window-option -g pane-base-index 1
|
set-window-option -g pane-base-index 1
|
||||||
|
|
@ -67,13 +105,28 @@
|
||||||
yt-dlp.enable = true;
|
yt-dlp.enable = true;
|
||||||
yt-dlp.package = pkgs.unstable.yt-dlp;
|
yt-dlp.package = pkgs.unstable.yt-dlp;
|
||||||
|
|
||||||
starship.package = pkgs.unstable.starship;
|
starship = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.unstable.starship;
|
||||||
|
enableTransience = true;
|
||||||
|
settings = {
|
||||||
|
"$schema" = "https://starship.rs/config-schema.json";
|
||||||
|
git_status = {
|
||||||
|
ahead = ">";
|
||||||
|
behind = "<";
|
||||||
|
diverged = "<>";
|
||||||
|
renamed = "r";
|
||||||
|
deleted = "d";
|
||||||
|
};
|
||||||
|
character.success_symbol = "[λ](bold green)";
|
||||||
|
character.error_symbol = "[λ](bold red)";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
obs-studio.enable = true;
|
obs-studio.enable = true;
|
||||||
obs-studio.plugins = with pkgs.obs-studio-plugins; [
|
obs-studio.plugins = with pkgs.obs-studio-plugins; [
|
||||||
input-overlay
|
input-overlay
|
||||||
droidcam-obs
|
droidcam-obs
|
||||||
wlrobs
|
|
||||||
];
|
];
|
||||||
|
|
||||||
fastfetch.enable = true;
|
fastfetch.enable = true;
|
||||||
|
|
|
||||||
|
|
@ -4,11 +4,7 @@
|
||||||
packageConfigurable = pkgs.unstable.vim-full;
|
packageConfigurable = pkgs.unstable.vim-full;
|
||||||
defaultEditor = true;
|
defaultEditor = true;
|
||||||
|
|
||||||
plugins = with pkgs.unstable.vimPlugins; [
|
plugins = with pkgs.unstable.vimPlugins; [gruvbox vim-nix undotree];
|
||||||
gruvbox
|
|
||||||
rainbow
|
|
||||||
undotree
|
|
||||||
];
|
|
||||||
|
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
set nocompatible
|
set nocompatible
|
||||||
|
|
@ -21,6 +17,9 @@
|
||||||
|
|
||||||
syntax on
|
syntax on
|
||||||
set ruler
|
set ruler
|
||||||
|
set number
|
||||||
|
set relativenumber
|
||||||
|
set cursorline
|
||||||
set showcmd
|
set showcmd
|
||||||
set showmode
|
set showmode
|
||||||
set laststatus=1
|
set laststatus=1
|
||||||
|
|
@ -31,7 +30,6 @@
|
||||||
|
|
||||||
filetype plugin indent on
|
filetype plugin indent on
|
||||||
set autoindent
|
set autoindent
|
||||||
set smartindent
|
|
||||||
set expandtab
|
set expandtab
|
||||||
set smarttab
|
set smarttab
|
||||||
set tabstop=4
|
set tabstop=4
|
||||||
|
|
@ -50,20 +48,21 @@
|
||||||
colorscheme gruvbox
|
colorscheme gruvbox
|
||||||
let g:terminal_ansi_colors = ['#282828', '#cc241d', '#98971a', '#d79921', '#458588', '#b16286', '#689d6a', '#a89984', '#928374', '#fb4934', '#b8bb26', '#fabd2f', '#83a598', '#d3869b', '#8ec07c', '#ebdbb2']
|
let g:terminal_ansi_colors = ['#282828', '#cc241d', '#98971a', '#d79921', '#458588', '#b16286', '#689d6a', '#a89984', '#928374', '#fb4934', '#b8bb26', '#fabd2f', '#83a598', '#d3869b', '#8ec07c', '#ebdbb2']
|
||||||
|
|
||||||
let g:rainbow_active = 1
|
set showmatch
|
||||||
|
|
||||||
|
set lispwords+=defun,defmacro,defvar,defparameter,defmethod,define-syntax,lambda,let,let*,letrec,flet,labels,progn,when,unless,if,cond
|
||||||
|
|
||||||
augroup coyote_filetype_settings
|
augroup coyote_filetype_settings
|
||||||
autocmd!
|
autocmd!
|
||||||
autocmd FileType javascript,typescript,html,css,json,nix,vim
|
autocmd FileType javascript,javascriptreact,typescript,typescriptreact,html,css,scss,json,jsonc,vue,svelte,yaml,toml,markdown,nix,vim,ruby,eruby,dart,haskell,elm
|
||||||
\ setlocal expandtab tabstop=2 shiftwidth=2 softtabstop=2
|
\ setlocal expandtab tabstop=2 shiftwidth=2 softtabstop=2
|
||||||
autocmd FileType python,rust,java,lua,c,cpp,h,hpp
|
autocmd FileType python,rust,java,lua,c,cpp,cs,php,kotlin,swift,scala,perl
|
||||||
\ setlocal expandtab tabstop=4 shiftwidth=4 softtabstop=4
|
\ setlocal expandtab tabstop=4 shiftwidth=4 softtabstop=4
|
||||||
autocmd FileType go,make
|
autocmd FileType go,gomod,make
|
||||||
\ setlocal noexpandtab tabstop=4 shiftwidth=4 softtabstop=0
|
\ setlocal noexpandtab tabstop=4 shiftwidth=4 softtabstop=0
|
||||||
autocmd FileType lisp,scheme,clojure,racket
|
autocmd FileType lisp,scheme,clojure,racket,fennel
|
||||||
\ setlocal expandtab tabstop=2 shiftwidth=2 softtabstop=2
|
\ setlocal expandtab tabstop=2 shiftwidth=2 softtabstop=2
|
||||||
\ lisp autoindent showmatch
|
\ lisp autoindent
|
||||||
\ lispwords+=defun,defmacro,defvar,defparameter,defmethod,define-syntax,lambda,let,let*,letre,flet,labels,progn,when,unless,if,cond
|
|
||||||
augroup END
|
augroup END
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -10,14 +10,21 @@
|
||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = true;
|
||||||
networking.firewall.enable = true;
|
networking.firewall.enable = true;
|
||||||
|
|
||||||
services.printing.enable = true;
|
|
||||||
services.printing.drivers = [pkgs.epson-escpr];
|
services.printing.drivers = [pkgs.epson-escpr];
|
||||||
|
|
||||||
hardware.bluetooth.enable = true;
|
hardware.bluetooth.enable = true;
|
||||||
hardware.sane.enable = true;
|
hardware.sane.enable = true;
|
||||||
hardware.sane.extraBackends = [pkgs.epsonscan2];
|
hardware.sane.extraBackends = [pkgs.epsonscan2];
|
||||||
|
|
||||||
|
hardware.graphics.enable = true;
|
||||||
|
hardware.graphics.enable32Bit = true;
|
||||||
|
hardware.enableRedistributableFirmware = true;
|
||||||
|
|
||||||
|
services.fstrim.enable = true;
|
||||||
|
zramSwap.enable = true;
|
||||||
|
|
||||||
# SDDM look, specific to this machine
|
# SDDM look, specific to this machine
|
||||||
|
# NOTE: Wayland for SDDM intentionally left disabled (experimental)
|
||||||
services.displayManager.sddm.settings.Theme.Font = "Inter";
|
services.displayManager.sddm.settings.Theme.Font = "Inter";
|
||||||
services.displayManager.sddm.settings.Theme.CursorSize = 18;
|
services.displayManager.sddm.settings.Theme.CursorSize = 18;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@
|
||||||
imports = [
|
imports = [
|
||||||
../../modules/common.nix
|
../../modules/common.nix
|
||||||
../../modules/desktop/kde-plasma.nix
|
../../modules/desktop/kde-plasma.nix
|
||||||
|
../../modules/users/coyote
|
||||||
|
../../modules/users/coyote/home-manager-module.nix
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
./configuration.nix
|
./configuration.nix
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,11 @@
|
||||||
}: {
|
}: {
|
||||||
nix.settings.experimental-features = ["nix-command" "flakes"];
|
nix.settings.experimental-features = ["nix-command" "flakes"];
|
||||||
nix.settings.auto-optimise-store = true;
|
nix.settings.auto-optimise-store = true;
|
||||||
nix.package = pkgs.lixPackageSets.stable.lix;
|
|
||||||
|
nix.gc.automatic = true;
|
||||||
|
nix.gc.dates = "weekly";
|
||||||
|
nix.gc.options = "--delete-older-than 14d";
|
||||||
|
nix.optimise.automatic = true;
|
||||||
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
nixpkgs.overlays = [
|
nixpkgs.overlays = [
|
||||||
|
|
@ -17,15 +21,6 @@
|
||||||
config.allowUnfree = true;
|
config.allowUnfree = true;
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
(final: prev: {
|
|
||||||
inherit
|
|
||||||
(prev.lixPackageSets.stable)
|
|
||||||
nixpkgs-review
|
|
||||||
nix-eval-jobs
|
|
||||||
nix-fast-build
|
|
||||||
colmena
|
|
||||||
;
|
|
||||||
})
|
|
||||||
];
|
];
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
|
|
@ -33,10 +28,7 @@
|
||||||
loader.systemd-boot.configurationLimit = 10;
|
loader.systemd-boot.configurationLimit = 10;
|
||||||
loader.efi.canTouchEfiVariables = true;
|
loader.efi.canTouchEfiVariables = true;
|
||||||
loader.timeout = 2;
|
loader.timeout = 2;
|
||||||
kernelParams = ["quiet" "rd.udev.log_level=3" "rd.systemd.show_status=auto"];
|
kernelPackages = pkgs.linuxPackages_latest;
|
||||||
initrd.verbose = false;
|
|
||||||
consoleLogLevel = 3;
|
|
||||||
kernelPackages = pkgs.linuxPackages;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
time.timeZone = "Asia/Jakarta";
|
time.timeZone = "Asia/Jakarta";
|
||||||
|
|
@ -48,7 +40,6 @@
|
||||||
locate.enable = true;
|
locate.enable = true;
|
||||||
printing.enable = true;
|
printing.enable = true;
|
||||||
openssh.enable = false;
|
openssh.enable = false;
|
||||||
pulseaudio.enable = false;
|
|
||||||
|
|
||||||
pipewire.enable = true;
|
pipewire.enable = true;
|
||||||
pipewire.alsa.enable = true;
|
pipewire.alsa.enable = true;
|
||||||
|
|
@ -102,16 +93,6 @@
|
||||||
eza
|
eza
|
||||||
];
|
];
|
||||||
|
|
||||||
environment.shellAliases = {
|
|
||||||
sudo = "doas";
|
|
||||||
l = "eza --grid --all";
|
|
||||||
ll = "eza --long --all";
|
|
||||||
ls = "eza --long";
|
|
||||||
".." = "cd ..";
|
|
||||||
"..." = "cd ../..";
|
|
||||||
cat = "bat";
|
|
||||||
};
|
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
fish.enable = true;
|
fish.enable = true;
|
||||||
|
|
||||||
|
|
@ -119,22 +100,6 @@
|
||||||
atuin.settings.sync_address = "https://api.atuin.sh";
|
atuin.settings.sync_address = "https://api.atuin.sh";
|
||||||
atuin.settings.enter_accept = true;
|
atuin.settings.enter_accept = true;
|
||||||
|
|
||||||
starship.enable = true;
|
|
||||||
starship.transientPrompt.enable = true;
|
|
||||||
starship.transientPrompt.left = "starship module character";
|
|
||||||
starship.settings = {
|
|
||||||
"$schema" = "https://starship.rs/config-schema.json";
|
|
||||||
git_status = {
|
|
||||||
ahead = ">";
|
|
||||||
behind = "<";
|
|
||||||
diverged = "<>";
|
|
||||||
renamed = "r";
|
|
||||||
deleted = "d";
|
|
||||||
};
|
|
||||||
character.success_symbol = "[λ](bold green)";
|
|
||||||
character.error_symbol = "[λ](bold red)";
|
|
||||||
};
|
|
||||||
|
|
||||||
git.enable = true;
|
git.enable = true;
|
||||||
git.config = {
|
git.config = {
|
||||||
init.defaultBranch = "main";
|
init.defaultBranch = "main";
|
||||||
|
|
@ -147,17 +112,26 @@
|
||||||
# one-off options that would live in the Home Manager section if the
|
# one-off options that would live in the Home Manager section if the
|
||||||
# relevant modules existed there
|
# relevant modules existed there
|
||||||
obs-studio.enableVirtualCamera = true;
|
obs-studio.enableVirtualCamera = true;
|
||||||
|
|
||||||
|
# NOTE: services.openssh.enable = false above only disables the SSH *server*
|
||||||
|
# This still starts the ssh-agent user service (SSH_AUTH_SOCK=%t/ssh-agent)
|
||||||
ssh.startAgent = true;
|
ssh.startAgent = true;
|
||||||
|
|
||||||
nix-ld.enable = true;
|
nix-ld.enable = true;
|
||||||
nix-ld.libraries = with pkgs; [fuse e2fsprogs];
|
nix-ld.libraries = with pkgs; [
|
||||||
|
fuse
|
||||||
|
e2fsprogs
|
||||||
|
stdenv.cc.cc
|
||||||
|
zlib
|
||||||
|
alsa-lib
|
||||||
|
expat
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
fonts.packages = with pkgs; [
|
fonts.packages = with pkgs; [
|
||||||
# GUI fonts
|
# GUI fonts
|
||||||
inter
|
inter
|
||||||
corefonts
|
corefonts
|
||||||
vista-fonts
|
|
||||||
roboto
|
roboto
|
||||||
cantarell-fonts
|
cantarell-fonts
|
||||||
# fonts for i18n
|
# fonts for i18n
|
||||||
|
|
@ -175,8 +149,9 @@
|
||||||
|
|
||||||
fonts.fontconfig.antialias = true;
|
fonts.fontconfig.antialias = true;
|
||||||
fonts.fontconfig.subpixel.rgba = "rgb";
|
fonts.fontconfig.subpixel.rgba = "rgb";
|
||||||
|
fonts.fontconfig.hinting.enable = true;
|
||||||
xdg.portal.enable = true;
|
fonts.fontconfig.defaultFonts = {
|
||||||
xdg.portal.config.common.default = ["gtk"];
|
sansSerif = ["Inter"];
|
||||||
xdg.portal.extraPortals = with pkgs; [xdg-desktop-portal-wlr];
|
monospace = ["Iosevka Nerd Font"];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,33 +1,17 @@
|
||||||
{
|
{pkgs, ...}: {
|
||||||
pkgs,
|
# Password set imperatively via `passwd`
|
||||||
config,
|
# so `mutableUsers = false` doesn't accidentally lock out SDDM/TTY
|
||||||
...
|
users.mutableUsers = true;
|
||||||
}: let
|
|
||||||
USER_ID = 1000;
|
|
||||||
KEY_FILE = "id_ed25519";
|
|
||||||
in {
|
|
||||||
users.users.coyote = {
|
users.users.coyote = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "coyote";
|
description = "coyote";
|
||||||
extraGroups = ["wheel" "networkmanager" "lp" "scanner"];
|
extraGroups = ["wheel" "networkmanager" "lp" "scanner" "video" "render" "input" "audio" "kvm"];
|
||||||
uid = USER_ID;
|
uid = 1000;
|
||||||
};
|
};
|
||||||
users.defaultUserShell = pkgs.unstable.fish;
|
users.defaultUserShell = pkgs.fish;
|
||||||
|
|
||||||
# daemon blurb to get SSH for Git working
|
environment.sessionVariables = {
|
||||||
environment.sessionVariables.SSH_AUTH_SOCK = "/run/user/${builtins.toString USER_ID}/ssh-agent";
|
NH_FLAKE = "/home/coyote/NixOS";
|
||||||
|
|
||||||
systemd.user.services.ssh-add-key = {
|
|
||||||
wantedBy = ["default.target"];
|
|
||||||
after = ["ssh-agent.service"];
|
|
||||||
serviceConfig = {
|
|
||||||
Type = "oneshot";
|
|
||||||
ExecStartPre = "${pkgs.coreutils-full}/bin/sleep 1";
|
|
||||||
ExecStart = [
|
|
||||||
"${pkgs.openssh}/bin/ssh-add ${config.users.users.coyote.home}/.ssh/${KEY_FILE}"
|
|
||||||
];
|
|
||||||
Restart = "on-failure";
|
|
||||||
RestartSec = 1;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@
|
||||||
|
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager.useGlobalPkgs = true;
|
||||||
home-manager.useUserPackages = true;
|
home-manager.useUserPackages = true;
|
||||||
|
home-manager.backupFileExtension = "backup";
|
||||||
home-manager.extraSpecialArgs = {inherit inputs;};
|
home-manager.extraSpecialArgs = {inherit inputs;};
|
||||||
home-manager.users.coyote.imports = [../../../home/coyote];
|
home-manager.users.coyote.imports = [../../../home/coyote];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Reference in a new issue