NixOS + home-manager configs, mirrored from GitLab SaaS. gitlab.com/andreijiroh-dev/nixops-config
nix-flake nixos home-manager nixpkgs nix-flakes
1
fork

Configure Feed

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

chore(nix): move packages list to shared configs

Also in this commit (since this is a bit big):
- fix some bugs and logging at ssh-agent-loader
- remove qemu multiarch setup for now due to rebuild errors

Signed-off-by: Andrei Jiroh Halili <ajhalili2006@andreijiroh.dev>

+63 -48
+1 -31
hosts/stellapent-cier/configuration.nix
··· 22 22 { 23 23 imports = 24 24 [ 25 - ../../shared/desktop/bluetooth.nix 26 - ../../shared/desktop/firewall.nix 25 + ../../shared/desktop/base.nix 27 26 ../../shared/desktop/kde-plasma.nix 28 27 ../../shared/flatpak.nix 29 28 ../../shared/gnupg.nix ··· 36 35 ../../shared/yubikey.nix 37 36 ../../shared/server/devenv.nix 38 37 ../../shared/1password.nix 39 - ../../shared/desktop/firefox.nix 40 38 ../../shared/shells/bash.nix 41 39 ../../shared/server/cockpit.nix 42 40 ]; ··· 51 49 canTouchEfiVariables = true; 52 50 }; 53 51 }; 54 - binfmt.emulatedSystems = [ 55 - "aarch64-linux" 56 - "armv7l-linux" 57 - ]; # for raspi builds I guess 58 52 }; 59 53 60 54 networking = { ··· 129 123 }; 130 124 home-manager.users.gildedguy = import ./users/gildedguy.nix; 131 125 #programs.home-manager.enable = true; # allow home-manager to manage itself 132 - 133 - # List packages installed in system profile. To search, run: 134 - # $ nix search wget 135 - environment.systemPackages = with pkgs; [ 136 - wget 137 - dig 138 - btop 139 - htop 140 - icu 141 - thunderbird 142 - google-chrome 143 - microsoft-edge 144 - kdePackages.kate 145 - libreoffice-qt6-fresh 146 - hunspell 147 - hunspellDicts.en_US 148 - gnupg 149 - gpg-tui 150 - gpgme 151 - byobu 152 - tmux 153 - android-tools 154 - adbtuifm 155 - ]; 156 126 157 127 # logind adjustments for this laptop to run as a headless server while 158 128 # the lid is closed.
+4 -4
misc/bash/lib/ssh-agent-loader
··· 1 1 #!/usr/bin/env bash 2 2 # shellcheck disable=SC2034 3 3 # SPDX-License-Identifier: MPL-2.0 4 - set -euo pipefail 4 + #set -eo pipefail 5 5 6 - if [[ $DEBUG == "1" ]]; then 6 + if [[ $DEBUG != "" ]]; then 7 7 set -x 8 8 fi 9 9 ··· 55 55 # Ripped off NixOS-generated set-environment on my laptop for yubikey-agent setup 56 56 try_yubikey_agent() { 57 57 if [[ -f "${XDG_RUNTIME_DIR}/yubikey-agent/yubikey-agent.sock" ]]; then 58 - logOps info "using YubiKey SSH Agent" yubikey-agent 58 + logOps info "using YubiKey SSH Agent via socket at XDG_RUNTIME_DIR" yubikey-agent 59 59 export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/yubikey-agent/yubikey-agent.sock" 60 60 fi 61 61 } ··· 120 120 121 121 if [[ $DEBUG == "1" ]]; then 122 122 set +x 123 - fi 123 + fi
+28
shared/desktop/base.nix
··· 1 + { pkgs, ... }: 2 + 3 + { 4 + imports = [ 5 + ./bluetooth.nix 6 + ./firefox.nix 7 + ./firewall.nix 8 + ./fonts.nix 9 + ]; 10 + 11 + # List packages installed in system profile. To search, run: 12 + # $ nix search wget 13 + environment.systemPackages = with pkgs; [ 14 + thunderbird 15 + 16 + # browsers (firefox is in ./firefox.nix) 17 + google-chrome 18 + microsoft-edge 19 + 20 + libreoffice-qt6-fresh 21 + hunspell 22 + hunspellDicts.en_US 23 + 24 + # android tools 25 + android-tools 26 + adbtuifm 27 + ]; 28 + }
+4
shared/desktop/kde-plasma.nix
··· 1 + # Configs for KDE Plasma DE and friends 2 + 1 3 { config, pkgs, lib, ... }: 2 4 3 5 { ··· 10 12 11 13 environment.systemPackages = with pkgs; [ 12 14 kdePackages.krfb 15 + pinentry-qt 16 + kdePackages.kate 13 17 ]; 14 18 }
+9
shared/gnupg.nix
··· 1 + { pkgs, ... }: 2 + 1 3 { 2 4 # enable gpg-agent with SSH support 3 5 programs.gnupg.agent = { ··· 5 7 enableSSHSupport = true; 6 8 enableBrowserSocket = true; 7 9 }; 10 + 11 + environment.systemPackages = with pkgs; [ 12 + gnupg 13 + gpgme 14 + pinentry-tty 15 + gpgme 16 + ]; 8 17 }
+2 -2
shared/home-manager/shell.nix
··· 52 52 if [[ -f /etc/profile.d/nix.sh ]]; then 53 53 . /etc/profile.d/nix.sh 54 54 fi 55 - export PATH=/nix/var/nix/profiles/default/bin:$HOME/.nix-profile/bin:$HOME/bin:$PATH 55 + #export PATH=/nix/var/nix/profiles/default/bin:$HOME/.nix-profile/bin:$HOME/bin:$PATH 56 56 57 57 # set PATH so it includes user's private bin if it exists 58 58 if [ -d "$HOME/bin" ] ; then ··· 112 112 programs.zsh = { 113 113 enable = true; 114 114 }; 115 - } 115 + }
+2 -2
shared/meta-configs.nix
··· 1 1 # This is the meta config file for nixpkgs and nix cli itself, including 2 - # trusted keys for cachnix caches 2 + # trusted keys for cachix caches. 3 3 4 4 { config, pkgs, lib, ... }: 5 5 ··· 17 17 nix = { 18 18 gc = { 19 19 automatic = true; 20 - randomizedDelaySec = "69min"; 20 + randomizedDelaySec = "30min"; 21 21 }; 22 22 settings = { 23 23 # See https://nix.dev/manual/nix/latest/development/experimental-features
+13 -9
shared/server/devenv.nix
··· 5 5 direnv 6 6 cachix 7 7 devbox 8 + byobu 9 + tmux 10 + 11 + # git tools 12 + gitFull 13 + gh 14 + glab 15 + fjo 8 16 ]; 9 17 10 18 virtualisation = { 11 19 podman = { 12 20 enable = true; 13 - extraPackages = with pkgs; [ 14 - gvisor 15 - ]; 21 + package = pkgs.podman; 22 + #extraPackages = with pkgs; [ 23 + # gvisor 24 + #]; 16 25 }; 17 26 docker = { 18 27 enable = true; ··· 35 44 programs.virt-manager.enable = true; 36 45 services.qemuGuest.enable = true; 37 46 services.spice-vdagentd.enable = true; 38 - 39 - boot.binfmt = { 40 - preferStaticEmulators = true; 41 - addEmulatedSystemsToNixSandbox = true; 42 - }; 43 - } 47 + }