so much cleanup

This commit is contained in:
mjallen18
2025-05-28 21:06:30 -05:00
parent 2f96b0ae7c
commit dd18dcadb9
16 changed files with 258 additions and 688 deletions

View File

@@ -6,146 +6,86 @@
{ {
imports = imports =
[ # Include the results of the hardware scan. [
../default.nix ../default.nix
./boot.nix ./boot.nix
./jovian.nix ./jovian.nix
./sops.nix ./networking.nix
# ./hardware-configuration.nix ./sops.nix
]; ];
nixpkgs.config.allowUnfree = true; services = {
# Enable nix flakes and nix-command tools # Enable CUPS to print documents.
nix = { printing.enable = true;
settings = {
warn-dirty = lib.mkForce false;
experimental-features = lib.mkForce [
"nix-command"
"flakes"
];
};
# Garbage collect automatically every week xserver = {
gc.automatic = lib.mkDefault true;
gc.options = lib.mkDefault "--delete-older-than 30d";
optimise.automatic = lib.mkDefault true;
};
networking = {
hostName = "steamdeck";
networkmanager = {
enable = true; enable = true;
wifi.powersave = lib.mkDefault false; desktopManager.gnome.enable = true;
settings.connectivity.uri = lib.mkDefault "http://nmcheck.gnome.org/check_network_status.txt";
ensureProfiles = {
environmentFiles = [
config.sops.secrets.wifi.path
];
profiles = {
"Joey's Jungle 6G" = {
connection = {
id = "Joey's Jungle 6G";
type = "wifi";
};
ipv4 = {
method = "auto";
};
ipv6 = {
addr-gen-mode = "stable-privacy";
method = "auto";
};
wifi = {
mode = "infrastructure";
ssid = "Joey's Jungle 6G";
};
wifi-security = {
key-mgmt = "sae";
psk = "$PSK";
};
};
};
};
}; };
}; };
# Set your time zone.
time.timeZone = "America/Chicago";
services.xserver.desktopManager.gnome.enable = true;
services.desktopManager.plasma6 = {
enable = false;
enableQt5Integration = true;
};
xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
services.xserver.enable = true;
# Enable CUPS to print documents.
services.printing.enable = true;
# Define a user account. Don't forget to set a password with passwd. # Define a user account. Don't forget to set a password with passwd.
users.users.deck = { users.users = {
hashedPasswordFile = config.sops.secrets."desktop/matt_password".path; deck = {
isNormalUser = true; hashedPasswordFile = config.sops.secrets."desktop/matt_password".path;
extraGroups = [ "wheel" ]; # Enable sudo for the user. isNormalUser = true;
openssh.authorizedKeys.keys = [ extraGroups = [ "wheel" ]; # Enable sudo for the user.
# macBook openssh.authorizedKeys.keys = [
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCw9zq8DLGByI5v2gAn95hKNyOsm3g61a2buxu2BBMFysQJgmZPCCLUqRJKhSM5Vm/JOgsAmdpRBRZQoHD+6S844CJHb4v4VIbjkyQgYCuM7Rst2IOZ5QybvsA2/D0nwytZ+HXQqDj2AagUYDbz0gyyIHkDQ5YGBMkvkWz/h1Vci6aoBM7VihEDM4KlWoTVuPeASGM8r5IZ2FS83Djbqo4ov6AYvLMrKB9Z7hmFgH6R3LE0gxOkzbGVXtSuvJyrjvgytoT22UhATjjxSQ9D+YJXXkQoB3lUdg8OoIquUPjMZpl4mR8ffvseWPfcvD1XlD5t+TOHFqKpESO547tlOBYhdpew+NSgAXpamCU6oyV8tDCywLQu2ucxHRn78u6WXzWHkDtffdhzmk6TZaPhWqVHuTGjR4higBgGqUfSaKOMszt+FDRZAr3HtuQ2+zJ8bowK9fW5OqilTtK2HtQqroD9ApegDNbqOz6kGy5IycSXvqPURy/M4lxZxbtBPuemcJs= mattjallen@MacBook-Pro.local" # macBook
# desktop windows "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCw9zq8DLGByI5v2gAn95hKNyOsm3g61a2buxu2BBMFysQJgmZPCCLUqRJKhSM5Vm/JOgsAmdpRBRZQoHD+6S844CJHb4v4VIbjkyQgYCuM7Rst2IOZ5QybvsA2/D0nwytZ+HXQqDj2AagUYDbz0gyyIHkDQ5YGBMkvkWz/h1Vci6aoBM7VihEDM4KlWoTVuPeASGM8r5IZ2FS83Djbqo4ov6AYvLMrKB9Z7hmFgH6R3LE0gxOkzbGVXtSuvJyrjvgytoT22UhATjjxSQ9D+YJXXkQoB3lUdg8OoIquUPjMZpl4mR8ffvseWPfcvD1XlD5t+TOHFqKpESO547tlOBYhdpew+NSgAXpamCU6oyV8tDCywLQu2ucxHRn78u6WXzWHkDtffdhzmk6TZaPhWqVHuTGjR4higBgGqUfSaKOMszt+FDRZAr3HtuQ2+zJ8bowK9fW5OqilTtK2HtQqroD9ApegDNbqOz6kGy5IycSXvqPURy/M4lxZxbtBPuemcJs= mattjallen@MacBook-Pro.local"
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDZ2PYPjZddOzR8OJj16G88KcUhCDLkvrEmpUQP0wKHDUuA27HQQ2ORo66asadwGHY3k1VDZ1ei9l9H++SIIeKOaaUr5yZdktvj4POUNtbd9ZhcS7sZU7BSF+NMDM+h3tImh6z0S7mWvRQOUv3ZM+ZER+5xTWJVG1OOJEpb1drxJk6Qz0wbZKSR7TPNFBLLXlVy7hkNYf07RtDyhCCxNB3hJfa8c+oztnWumwDhDQWLqiUXWIU2QH6iRLGl/WYnujtNvVVaV/Hn3JJkS6MM9dnV3cpoIO0+J7+WfsN9rZ0wXt5yY3GhiGXwmcO5eYVli8lHlLWtK7aYSETyry6CBsLbojzOQO5rSqhpwfF2njAAFAQU0UjLc8PahisIuFKCwHH4iyXXOagiv5K1Mc/0Ak+WhhMPee6vV2p7NTyNpXRvouDbWy5cSRH31WgQ9fK5mIGe5v8nGGqtEhUubUkiOgP+H3UbT2V/nTv/TFKdJcKw+WmizvTrxBmaMjWALlkYl+s= mattl@Jallen-PC" # desktop windows
# desktop nixos "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDZ2PYPjZddOzR8OJj16G88KcUhCDLkvrEmpUQP0wKHDUuA27HQQ2ORo66asadwGHY3k1VDZ1ei9l9H++SIIeKOaaUr5yZdktvj4POUNtbd9ZhcS7sZU7BSF+NMDM+h3tImh6z0S7mWvRQOUv3ZM+ZER+5xTWJVG1OOJEpb1drxJk6Qz0wbZKSR7TPNFBLLXlVy7hkNYf07RtDyhCCxNB3hJfa8c+oztnWumwDhDQWLqiUXWIU2QH6iRLGl/WYnujtNvVVaV/Hn3JJkS6MM9dnV3cpoIO0+J7+WfsN9rZ0wXt5yY3GhiGXwmcO5eYVli8lHlLWtK7aYSETyry6CBsLbojzOQO5rSqhpwfF2njAAFAQU0UjLc8PahisIuFKCwHH4iyXXOagiv5K1Mc/0Ak+WhhMPee6vV2p7NTyNpXRvouDbWy5cSRH31WgQ9fK5mIGe5v8nGGqtEhUubUkiOgP+H3UbT2V/nTv/TFKdJcKw+WmizvTrxBmaMjWALlkYl+s= mattl@Jallen-PC"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPTBMydhOc6SnOdB5WrEd7X07DrboAtagCUgXiOJjLov matt@matt-nixos" # desktop nixos
]; "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPTBMydhOc6SnOdB5WrEd7X07DrboAtagCUgXiOJjLov matt@matt-nixos"
packages = with pkgs; [ ];
firefox packages = with pkgs; [
tree firefox
]; tree
shell = pkgs.zsh; ];
shell = pkgs.zsh;
};
root.shell = pkgs.zsh;
}; };
users.users.root.shell = pkgs.zsh;
programs = { programs = {
gamemode.enable = lib.mkDefault true;
zsh.enable = true; zsh.enable = true;
nix-ld.enable = true; nix-ld = {
nix-ld.libraries = with pkgs; [ enable = true;
bash libraries = with pkgs; [
glib bash
gtk3 glib
SDL2 gtk3
libGL SDL2
openal libGL
openal
xorg.libX11 xorg.libX11
xorg.libICE xorg.libICE
xorg.libSM xorg.libSM
xorg.libXcursor xorg.libXcursor
xorg.libXrandr xorg.libXrandr
xorg.libXi xorg.libXi
alsa-lib alsa-lib
libpulseaudio libpulseaudio
zlib zlib
libgdiplus libgdiplus
icu icu
fontconfig fontconfig
freetype freetype
expat expat
vulkan-loader vulkan-loader
]; ];
};
}; };
services = { services = {
flatpak.enable = true;
btrfs = { btrfs = {
autoScrub.enable = lib.mkDefault true; autoScrub.enable = lib.mkDefault true;
autoScrub.fileSystems = lib.mkDefault [ autoScrub.fileSystems = lib.mkDefault [
@@ -158,18 +98,6 @@
}; };
}; };
boot = {
# Enable AppImage
binfmt.registrations.appimage = {
wrapInterpreterInShell = lib.mkDefault false;
interpreter = "${pkgs.appimage-run}/bin/appimage-run";
recognitionType = "magic";
offset = 0;
mask = "\\xff\\xff\\xff\\xff\\x00\\x00\\x00\\x00\\xff\\xff\\xff";
magicOrExtension = "\\x7fELF....AI\\x02";
};
};
chaotic.mesa-git.enable = true; chaotic.mesa-git.enable = true;
# List packages installed in system profile. To search, run: # List packages installed in system profile. To search, run:
@@ -179,17 +107,9 @@
fuse fuse
jq jq
newt newt
maliit-keyboard
onlyoffice-bin
python3
rsync
sbctl sbctl
smartmontools
steam-run steam-run
udisks2 udisks2
unzip
usbutils
plymouth
zenity zenity
]; ];
@@ -211,35 +131,5 @@
# Enable the OpenSSH daemon. # Enable the OpenSSH daemon.
services.openssh.enable = true; services.openssh.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
# Copy the NixOS configuration file and link it from the resulting system
# (/run/current-system/configuration.nix). This is useful in case you
# accidentally delete configuration.nix.
# system.copySystemConfiguration = true;
# This option defines the first version of NixOS you have installed on this particular machine,
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
#
# Most users should NEVER change this value after the initial install, for any reason,
# even if you've upgraded your system to a new NixOS release.
#
# This value does NOT affect the Nixpkgs version your packages and OS are pulled from,
# so changing it will NOT upgrade your system.
#
# This value being lower than the current NixOS release does NOT mean your system is
# out of date, out of support, or vulnerable.
#
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
# and migrated your data accordingly.
#
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
system.stateVersion = "23.11"; # Did you read the comment?
} }

View File

@@ -1,108 +0,0 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{
config,
lib,
modulesPath,
...
}:
{
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [
"nvme"
"xhci_pci"
"usbhid"
"usb_storage"
"uas"
"sd_mod"
"sdhci_pci"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
fileSystems."/" = {
device = "none";
fsType = "tmpfs";
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/A06F-3014";
fsType = "vfat";
};
fileSystems."/nix" = {
device = "/dev/disk/by-uuid/4dd9fe16-dec7-48da-80af-de2c603a136a";
fsType = "btrfs";
options = [
"subvol=nix"
"compress=zstd"
"noatime"
"autodefrag"
];
};
fileSystems."/etc" = {
device = "/dev/disk/by-uuid/4dd9fe16-dec7-48da-80af-de2c603a136a";
fsType = "btrfs";
options = [
"subvol=etc"
"compress=zstd"
"noatime"
"autodefrag"
];
};
fileSystems."/root" = {
device = "/dev/disk/by-uuid/4dd9fe16-dec7-48da-80af-de2c603a136a";
fsType = "btrfs";
options = [
"subvol=root"
"compress=zstd"
"noatime"
"autodefrag"
];
};
fileSystems."/var/log" = {
device = "/dev/disk/by-uuid/4dd9fe16-dec7-48da-80af-de2c603a136a";
fsType = "btrfs";
options = [
"subvol=log"
"compress=zstd"
"noatime"
"autodefrag"
];
};
fileSystems."/home" = {
device = "/dev/disk/by-uuid/4dd9fe16-dec7-48da-80af-de2c603a136a";
fsType = "btrfs";
options = [
"subvol=home"
"compress=zstd"
"noatime"
"autodefrag"
];
};
swapDevices = [
{ device = "/dev/disk/by-uuid/da9dfb00-c2ac-4105-a75f-f498973a32f0"; }
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.enp4s0f3u1u3.useDHCP = lib.mkDefault true;
# networking.interfaces.wlo1.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View File

@@ -1,30 +1,24 @@
{ lib, pkgs, ... }: { lib, pkgs, ... }:
let let
shellAliases = { shellAliases = {
ll = "ls -alh";
update-boot = "sudo nixos-rebuild boot --max-jobs 10 --build-host admin@10.0.1.18"; update-boot = "sudo nixos-rebuild boot --max-jobs 10 --build-host admin@10.0.1.18";
update-switch = "sudo nixos-rebuild switch --max-jobs 10"; update-switch = "sudo nixos-rebuild switch --max-jobs 10";
update-flake = "nix flake update steamdeck-nixpkgs steamdeck-chaotic steamdeck-home-manager steamdeck-impermanence steamdeck-jovian steamdeck-lanzaboote steamdeck-nixos-hardware steamdeck-sops-nix steamdeck-steam-rom-manager --flake /etc/nixos"; update-flake = "nix flake update steamdeck-nixpkgs steamdeck-chaotic steamdeck-home-manager steamdeck-impermanence steamdeck-jovian steamdeck-lanzaboote steamdeck-nixos-hardware steamdeck-sops-nix steamdeck-steam-rom-manager --flake /etc/nixos";
nas-ssh = "ssh admin@10.0.1.18"; nas-ssh = "ssh admin@10.0.1.18";
ducks = "du -cksh * | sort -hr | head -n 15";
};
gitAliases = {
co = "checkout";
ci = "commit";
cia = "commit --amend";
s = "status";
st = "status";
b = "branch";
p = "pull --rebase";
pu = "push";
}; };
in in
{ {
imports = [
../../share/home/defaults.nix
../../share/home/git.nix
../../share/home/gnome.nix
../../share/home/librewolf.nix
../../share/home/office.nix
../../share/home/shell.nix
../../share/home/vscode.nix
];
home.username = "deck"; home.username = "deck";
home.homeDirectory = "/home/deck";
home.stateVersion = "23.11";
programs.home-manager.enable = true;
sops = { sops = {
age.keyFile = "/home/deck/.config/sops/age/keys.txt"; age.keyFile = "/home/deck/.config/sops/age/keys.txt";
@@ -43,35 +37,6 @@ in
}; };
programs = { programs = {
mangohud.enable = true;
java.enable = true;
zsh = {
enable = true;
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
shellAliases = shellAliases;
oh-my-zsh = {
enable = true;
plugins = [ "git" ];
theme = "fishy";
};
};
git = {
enable = true;
package = pkgs.git.override { withLibsecret = true; };
userName = "mjallen18";
userEmail = "matt.l.jallen@gmail.com";
aliases = gitAliases;
extraConfig = {
credential.helper = "libsecret";
};
};
steam-rom-manager = { steam-rom-manager = {
enable = true; enable = true;
steamUsername = "mjallen18"; steamUsername = "mjallen18";
@@ -103,64 +68,15 @@ in
}; };
}; };
}; };
zsh.shellAliases = shellAliases;
}; };
home.packages = with pkgs; [ home.packages = with pkgs; [
age
apple-cursor
chromium
colloid-icon-theme
colloid-gtk-theme
dolphin-emu dolphin-emu
fastfetch
gnome-tweaks
gnomeExtensions.appindicator
gnomeExtensions.dash-to-dock
gnomeExtensions.tiling-assistant
heroic heroic
lm_sensors
mission-center
mgba mgba
nextcloud-client
nixfmt-rfc-style
prismlauncher prismlauncher
protonup
ryujinx-greemdev ryujinx-greemdev
sops
vesktop
vmware-horizon-client
vscode
]; ];
dconf = {
enable = true;
settings = {
"org/gnome/desktop/interface".clock-format = "12h";
"org/gnome/desktop/interface".color-scheme = "prefer-dark";
"org/gnome/desktop/interface".cursor-theme = lib.mkDefault "macOS";
"org/gnome/desktop/interface".enable-hot-corners = false;
"org/gnome/desktop/interface".font-antialiasing = "grayscale";
"org/gnome/desktop/interface".font-hinting = "slight";
"org/gnome/desktop/interface".gtk-theme = lib.mkDefault "Colloid-Dark";
"org/gnome/desktop/interface".icon-theme = lib.mkDefault "Colloid-Dark";
"org/gnome/desktop/peripherals/mouse".accel-profile = "flat";
"org/gnome/desktop/peripherals/touchpad".two-finger-scrolling-enabled = true;
"org/gnome/desktop/peripherals/touchpad".tap-to-click = true;
"org/gnome/mutter".experimental-features = [
"scale-monitor-framebuffer"
"variable-refresh-rate"
];
"org/gnome/tweaks".show-extensions-notice = false;
"org/gnome/shell".enabled-extensions = [
"appindicatorsupport@rgcjonas.gmail.com"
"user-theme@gnome-shell-extensions.gcampax.github.com"
"tiling-assistant@leleat-on-github"
"dash-to-dock@micxgx.gmail.com"
];
"org/gnome/shell/extensions/dash-to-panel".primary-monitor = 1;
"org/gnome/shell/extensions/dash-to-panel".multi-monitors = false;
"org/gnome/shell/extensions/user-theme".name = lib.mkDefault "Colloid-Dark";
"org/gtk/settings/file-chooser".clock-format = "12h";
};
};
} }

44
hosts/deck/networking.nix Normal file
View File

@@ -0,0 +1,44 @@
{ ... }:
let
hostname = "steamdeck";
wifiSsid = "Joey's Jungle 5G";
in
{
networking = {
hostName = hostname;
networkmanager = {
enable = true;
wifi.powersave = lib.mkDefault false;
settings.connectivity.uri = lib.mkDefault "http://nmcheck.gnome.org/check_network_status.txt";
ensureProfiles = {
environmentFiles = [
config.sops.secrets.wifi.path
];
profiles = {
wifiSsid = {
connection = {
id = wifiSsid;
type = "wifi";
};
ipv4 = {
method = "auto";
};
ipv6 = {
addr-gen-mode = "stable-privacy";
method = "auto";
};
wifi = {
mode = "infrastructure";
ssid = wifiSsid;
};
wifi-security = {
key-mgmt = "sae";
psk = "$PSK";
};
};
};
};
};
};
}

View File

@@ -1,4 +1,4 @@
{ lib, pkgs, ... }: { lib, pkgs, outputs, ... }:
let let
timezone = "America/Chicago"; timezone = "America/Chicago";
@@ -72,9 +72,20 @@ in
optimise.automatic = lib.mkDefault true; optimise.automatic = lib.mkDefault true;
}; };
# Configure nixpkgs # Nixpkgs configuration
# Enable non free nixpkgs = {
nixpkgs.config.allowUnfree = lib.mkForce true; # add unstable and stable overlays
overlays = [
outputs.overlays.nixpkgs-unstable
outputs.overlays.nixpkgs-stable
];
config = {
allowUnfree = lib.mkForce true;
permittedInsecurePackages = [
# ...
];
};
};
# Hardware configs # Hardware configs
hardware = { hardware = {

View File

@@ -24,38 +24,25 @@ let
aspellDicts.en-science aspellDicts.en-science
borgbackup borgbackup
# brscan5 # brscan5
clinfo
direnv
efibootmgr efibootmgr
gparted
grsync
kmod
kdePackages.ksvg kdePackages.ksvg
lact
memtest86-efi memtest86-efi
memtest86plus memtest86plus
nano
occt occt
onlyoffice-bin
os-prober os-prober
nil nil
papirus-icon-theme
pciutils
qemu_full qemu_full
rclone rclone
rclone-browser rclone-browser
restic restic
restic-browser restic-browser
restic-integrity restic-integrity
rsync
sane-frontends sane-frontends
sbctl sbctl
smartmontools tpm2-tools
usbutils tpm2-tss
udisks2 udisks2
vim unzip
vulkan-tools
wget
winetricks winetricks
]; ];
lactConfig = '' lactConfig = ''
@@ -151,18 +138,6 @@ in
}; };
}; };
# Nixpkgs configuration
nixpkgs = {
# add unstable and stable overlays
overlays = [
outputs.overlays.nixpkgs-unstable
outputs.overlays.nixpkgs-stable
];
config.permittedInsecurePackages = [
# ...
];
};
# Programs configuration # Programs configuration
programs = { programs = {
nix-ld = { nix-ld = {
@@ -182,7 +157,6 @@ in
xorg.libXi xorg.libXi
]; ];
}; };
gamemode.enable = true;
coolercontrol.enable = true; coolercontrol.enable = true;
kdeconnect = { kdeconnect = {
enable = true; enable = true;

View File

@@ -9,6 +9,7 @@ let
in in
{ {
imports = [ imports = [
../../share/home/defaults.nix
../../share/home/git.nix ../../share/home/git.nix
../../share/home/gnome.nix ../../share/home/gnome.nix
../../share/home/librewolf.nix ../../share/home/librewolf.nix
@@ -18,8 +19,6 @@ in
]; ];
home.username = "matt"; home.username = "matt";
home.homeDirectory = "/home/matt";
home.stateVersion = "23.11";
sops = { sops = {
age.keyFile = "/home/matt/.config/sops/age/keys.txt"; age.keyFile = "/home/matt/.config/sops/age/keys.txt";
@@ -45,56 +44,29 @@ in
}; };
programs = { programs = {
mangohud.enable = true;
java.enable = true;
home-manager.enable = true;
password-store.enable = true; password-store.enable = true;
zsh.shellAliases = shellAliases; zsh.shellAliases = shellAliases;
}; };
home.packages = with pkgs; [ home.packages = with pkgs; [
age
bottles bottles
chromium
unstable.compose2nix unstable.compose2nix
coolercontrol.coolercontrol-gui
deadnix
discord discord
fastfetch
cpufetch
firefox
freerdp
gamescope
gamescope-wsi
goverlay
heroic heroic
home-manager
jq jq
lm_sensors
lutris lutris
mangohud
mission-center
morph morph
nextcloud-client
nixfmt-rfc-style
orca-slicer orca-slicer
piper piper
prismlauncher prismlauncher
protonup
protontricks protontricks
protonvpn-gui protonvpn-gui
qmk qmk
remmina
smile smile
sops
spotify
tree
unigine-heaven unigine-heaven
vesktop
via via
virt-manager virt-manager
vmware-horizon-client
vorta vorta
]; ];
} }

View File

@@ -56,36 +56,24 @@
''; '';
systemPackages = with pkgs; [ systemPackages = with pkgs; [
authentik
binutils binutils
cryptsetup cryptsetup
clinfo
cmake cmake
coolercontrol.coolercontrol-gui
deconz deconz
duperemove duperemove
efibootmgr efibootmgr
ffmpeg ffmpeg
gcc gcc
git
glances glances
gparted
htop
ipset ipset
jq jq
llama-cpp llama-cpp
lm_sensors
nano
ninja ninja
nixfmt-rfc-style
nix-inspect
nix-ld
networkmanagerapplet networkmanagerapplet
nmon nmon
nut nut
packagekit packagekit
pass pass
pciutils
protonmail-bridge protonmail-bridge
protonvpn-cli protonvpn-cli
python3 python3
@@ -93,18 +81,10 @@
qrencode qrencode
rcon rcon
sbctl sbctl
sops
speedtest-cli speedtest-cli
tailscale
tigervnc tigervnc
tpm2-tools tpm2-tools
tpm2-tss tpm2-tss
usbutils
vim
vulkan-tools
wget
xorg.xinit
xorg.xauth
]; ];
}; };

View File

@@ -1,28 +1,31 @@
{ pkgs,... }: { config, lib, pkgs,... }:
let let
shellAliases = { shellAliases = {
ll = "ls -alh";
update-boot = "sudo nixos-rebuild boot --max-jobs 10"; update-boot = "sudo nixos-rebuild boot --max-jobs 10";
update-switch = "sudo nixos-rebuild switch --max-jobs 10"; update-switch = "sudo nixos-rebuild switch --max-jobs 10";
update-flake = "nix flake update nas-nixpkgs nas-authentik-nix nas-cosmic nas-crowdsec nas-home-manager nas-impermanence nas-lanzaboote nas-nixos-hardware nas-sops-nix --flake /etc/nixos"; update-flake = "nix flake update nas-nixpkgs nas-authentik-nix nas-cosmic nas-crowdsec nas-home-manager nas-impermanence nas-lanzaboote nas-nixos-hardware nas-sops-nix --flake /etc/nixos";
ducks = "du -cksh * | sort -hr | head -n 15";
}; };
gitAliases = { excludePkgs = with pkgs; [
co = "checkout"; chromium
ci = "commit"; gamescope
cia = "commit --amend"; gamescope-wsi
s = "status"; goverlay
st = "status"; protonup
b = "branch"; vesktop
p = "pull --rebase"; vmware-horizon-client
pu = "push"; ];
};
in in
{ {
imports = [
../../share/home/defaults.nix
../../share/home/git.nix
../../share/home/librewolf.nix
../../share/home/shell.nix
../../share/home/vscode.nix
];
home.username = "admin"; home.username = "admin";
home.homeDirectory = "/home/admin";
home.stateVersion = "23.11";
sops = { sops = {
age.keyFile = "/home/admin/.config/sops/age/keys.txt"; age.keyFile = "/home/admin/.config/sops/age/keys.txt";
@@ -60,12 +63,6 @@ in
}; };
programs = { programs = {
home-manager.enable = true;
mangohud.enable = true;
java.enable = true;
password-store.enable = true;
btop.enable = true;
neovim = { neovim = {
enable = true; enable = true;
viAlias = true; viAlias = true;
@@ -80,30 +77,8 @@ in
]; ];
}; };
zsh = { zsh.shellAliases = shellAliases;
enable = true;
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
shellAliases = shellAliases;
oh-my-zsh = {
enable = true;
plugins = [ "git" ];
theme = "fishy";
};
};
git = {
enable = true;
package = pkgs.gitFull;
userName = "mjallen18";
userEmail = "matt.l.jallen@gmail.com";
aliases = gitAliases;
extraConfig = {
credential.helper = "libsecret";
};
};
}; };
home.packages = lib.filter (pkg: !(lib.elem pkg excludePkgs)) config.home.packages;
} }

View File

@@ -46,13 +46,11 @@ in
environment = { environment = {
systemPackages = with pkgs; [ systemPackages = with pkgs; [
git
libraspberrypi libraspberrypi
raspberrypi-eeprom raspberrypi-eeprom
raspberrypifw raspberrypifw
raspberrypiWirelessFirmware raspberrypiWirelessFirmware
raspberrypi-armstubs raspberrypi-armstubs
vim
]; ];
etc = { etc = {
"ssh/ssh_host_ed25519_key".source = config.sops.secrets."pi4/sys-priv-key".path; "ssh/ssh_host_ed25519_key".source = config.sops.secrets."pi4/sys-priv-key".path;

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: { config, lib, pkgs, ... }:
let let
shellAliases = { shellAliases = {
ll = "ls -alh"; ll = "ls -alh";
@@ -10,21 +10,30 @@ let
ducks = "du -cksh * | sort -hr | head -n 15"; ducks = "du -cksh * | sort -hr | head -n 15";
}; };
gitAliases = { excludePkgs = with pkgs; [
co = "checkout"; chromium
ci = "commit"; clinfo
cia = "commit --amend"; coolercontrol.coolercontrol-gui
s = "status"; firefox
st = "status"; gamescope
b = "branch"; gamescope-wsi
p = "pull --rebase"; goverlay
pu = "push"; gparted
}; mission-center
protonup
vesktop
vmware-horizon-client
vulkan-tools
];
in in
{ {
imports = [
../../share/home/defaults.nix
../../share/home/git.nix
../../share/home/shell.nix
];
home.username = "matt"; home.username = "matt";
home.homeDirectory = "/home/matt";
home.stateVersion = "23.11";
sops = { sops = {
age.keyFile = "/home/matt/.config/sops/age/keys.txt"; age.keyFile = "/home/matt/.config/sops/age/keys.txt";
@@ -62,44 +71,14 @@ in
}; };
programs = { programs = {
fish.enable = false; java.enable = lib.mkForce true;
mangohud.enable = true; mangohud.enable = lib.mkForce true;
java.enable = true; zsh.shellAliases = shellAliases;
home-manager.enable = true;
zsh = {
enable = true;
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
shellAliases = shellAliases;
oh-my-zsh = {
enable = true;
plugins = [ "git" ];
theme = "fishy";
};
};
git = {
enable = true;
userName = "mjallen18";
userEmail = "matt.l.jallen@gmail.com";
aliases = gitAliases;
};
}; };
home.packages = with pkgs; [ services = {
age nextcloud-client.enable = lib.mkForce true;
btop };
fastfetch
firefox home.packages = lib.filter (pkg: !(lib.elem pkg excludePkgs)) config.home.packages;
home-manager
lm_sensors
mission-center
sops
tree
vscode
];
} }

View File

@@ -65,13 +65,11 @@ in
}; };
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
git
libraspberrypi libraspberrypi
raspberrypi-eeprom raspberrypi-eeprom
raspberrypifw raspberrypifw
raspberrypiWirelessFirmware raspberrypiWirelessFirmware
raspberrypi-armstubs raspberrypi-armstubs
vim
]; ];
users = { users = {

View File

@@ -1,30 +1,24 @@
{ pkgs, lib, ... }: { pkgs, lib, ... }:
let let
shellAliases = { shellAliases = {
ll = "ls -alh";
update-boot = "sudo nixos-rebuild boot --max-jobs 10 --build-host admin@10.0.1.18"; update-boot = "sudo nixos-rebuild boot --max-jobs 10 --build-host admin@10.0.1.18";
update-switch = "sudo nixos-rebuild switch --max-jobs 10 --build-host admin@10.0.1.18"; update-switch = "sudo nixos-rebuild switch --max-jobs 10 --build-host admin@10.0.1.18";
update-flake = "nix flake update pi5-nixpkgs pi5-home-manager pi5-impermanence pi5-nixos-hardware pi5-sops-nix nixos-raspberrypi --flake /etc/nixos"; update-flake = "nix flake update pi5-nixpkgs pi5-home-manager pi5-impermanence pi5-nixos-hardware pi5-sops-nix nixos-raspberrypi --flake /etc/nixos";
update-nas = "nixos-rebuild switch --use-remote-sudo --target-host admin@10.0.1.18 --build-host admin@10.0.1.18 --flake ~/nix-config#jallen-nas"; update-nas = "nixos-rebuild switch --use-remote-sudo --target-host admin@10.0.1.18 --build-host admin@10.0.1.18 --flake ~/nix-config#jallen-nas";
nas-ssh = "kitten ssh admin@10.0.1.18"; nas-ssh = "kitten ssh admin@10.0.1.18";
ducks = "du -cksh * | sort -hr | head -n 15";
};
gitAliases = {
co = "checkout";
ci = "commit";
cia = "commit --amend";
s = "status";
st = "status";
b = "branch";
p = "pull --rebase";
pu = "push";
}; };
in in
{ {
imports = [
../../share/home/defaults.nix
../../share/home/git.nix
../../share/home/gnome.nix
../../share/home/librewolf.nix
../../share/home/shell.nix
../../share/home/vscode.nix
];
home.username = "matt"; home.username = "matt";
home.homeDirectory = "/home/matt";
home.stateVersion = "23.11";
sops = { sops = {
age.keyFile = "/home/matt/.config/sops/age/keys.txt"; age.keyFile = "/home/matt/.config/sops/age/keys.txt";
@@ -50,83 +44,6 @@ in
}; };
programs = { programs = {
fish.enable = false; zsh.shellAliases = shellAliases;
mangohud.enable = true;
java.enable = true;
home-manager.enable = true;
zsh = {
enable = true;
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
shellAliases = shellAliases;
oh-my-zsh = {
enable = true;
plugins = [ "git" ];
theme = "fishy";
};
};
git = {
enable = true;
userName = "mjallen18";
userEmail = "matt.l.jallen@gmail.com";
aliases = gitAliases;
};
};
home.packages = with pkgs; [
age
apple-cursor
colloid-icon-theme
colloid-gtk-theme
btop
fastfetch
firefox
gnome-tweaks
gnomeExtensions.appindicator
gnomeExtensions.dash-to-dock
gnomeExtensions.tiling-assistant
home-manager
lm_sensors
mission-center
sops
tree
vscode
];
dconf = {
enable = true;
settings = {
"org/gnome/desktop/interface".clock-format = "12h";
"org/gnome/desktop/interface".color-scheme = "prefer-dark";
"org/gnome/desktop/interface".cursor-theme = lib.mkDefault "macOS";
"org/gnome/desktop/interface".enable-hot-corners = false;
"org/gnome/desktop/interface".font-antialiasing = "grayscale";
"org/gnome/desktop/interface".font-hinting = "slight";
"org/gnome/desktop/interface".gtk-theme = lib.mkDefault "Colloid-Dark";
"org/gnome/desktop/interface".icon-theme = lib.mkDefault "Colloid-Dark";
"org/gnome/desktop/peripherals/mouse".accel-profile = "flat";
"org/gnome/desktop/peripherals/touchpad".two-finger-scrolling-enabled = true;
"org/gnome/desktop/peripherals/touchpad".tap-to-click = true;
"org/gnome/mutter".experimental-features = [
"scale-monitor-framebuffer"
"variable-refresh-rate"
];
"org/gnome/tweaks".show-extensions-notice = false;
"org/gnome/shell".enabled-extensions = [
"appindicatorsupport@rgcjonas.gmail.com"
"user-theme@gnome-shell-extensions.gcampax.github.com"
"tiling-assistant@leleat-on-github"
"dash-to-dock@micxgx.gmail.com"
];
"org/gnome/shell/extensions/dash-to-panel".primary-monitor = 1;
"org/gnome/shell/extensions/dash-to-panel".multi-monitors = false;
"org/gnome/shell/extensions/user-theme".name = lib.mkDefault "Colloid-Dark";
"org/gtk/settings/file-chooser".clock-format = "12h";
};
}; };
} }

View File

@@ -36,6 +36,8 @@ in
openFirewall = true; openFirewall = true;
}; };
programs.gamemode.enable = true;
# Hardware configs # Hardware configs
hardware = { hardware = {
# Xbox controllers # Xbox controllers

54
share/home/defaults.nix Normal file
View File

@@ -0,0 +1,54 @@
{ config, lib, pkgs, ... }:
{
home = {
enableNixpkgsReleaseCheck = lib.mkDefault false;
homeDirectory = lib.mkDefault "/home/${config.home.username}";
packages = with pkgs; [
age
chromium
clinfo
coolercontrol.coolercontrol-gui
cpufetch
deadnix
direnv
firefox
gamescope
gamescope-wsi
goverlay
gparted
lm_sensors
mission-center
nano
nixfmt-rfc-style
pciutils
protonup
rsync
smartmontools
sops
tailscale
tree
usbutils
vesktop
vim
vulkan-tools
vmware-horizon-client
wget
];
stateVersion = lib.mkDefault "23.11";
};
programs = {
btop.enable = lib.mkDefault true;
fastfetch.enable = lib.mkDefault true;
home-manager.enable = lib.mkDefault true;
java.enable = lib.mkDefault true;
mangohud.enable = lib.mkDefault true;
password-store.enable = true;
};
services = {
nextcloud-client.enable = lib.mkDefault true;
pass-secret-service.enable = lib.mkDefault true;
};
}

View File

@@ -1,52 +1,20 @@
{ ... }: { ... }:
let let
shellAliases = { shellAliases = {
ll = "ls -alh";
update-boot = "nixos-rebuild boot --max-jobs 10"; update-boot = "nixos-rebuild boot --max-jobs 10";
update-switch = "nixos-rebuild switch --max-jobs 10"; update-switch = "nixos-rebuild switch --max-jobs 10";
update-flake = "nix flake update /etc/nixos";
ducks = "du -cksh * | sort -hr | head -n 15";
};
gitAliases = {
co = "checkout";
ci = "commit";
cia = "commit --amend";
s = "status";
st = "status";
b = "branch";
p = "pull --rebase";
pu = "push";
}; };
in in
{ {
imports = [
../home/defaults.nix
../home/git.nix
../home/shell.nix
];
home.username = "root"; home.username = "root";
home.homeDirectory = "/root";
home.stateVersion = "23.11";
programs = { programs = {
home-manager.enable = true; zsh.shellAliases = shellAliases;
zsh = {
enable = true;
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
shellAliases = shellAliases;
oh-my-zsh = {
enable = true;
plugins = [ "git" ];
theme = "fishy";
};
};
git = {
enable = true;
userName = "mjallen18";
userEmail = "matt.l.jallen@gmail.com";
aliases = gitAliases;
};
}; };
} }