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 =
[ # Include the results of the hardware scan.
../default.nix
./boot.nix
./jovian.nix
./sops.nix
# ./hardware-configuration.nix
];
[
../default.nix
./boot.nix
./jovian.nix
./networking.nix
./sops.nix
];
nixpkgs.config.allowUnfree = true;
# Enable nix flakes and nix-command tools
nix = {
settings = {
warn-dirty = lib.mkForce false;
experimental-features = lib.mkForce [
"nix-command"
"flakes"
];
};
services = {
# Enable CUPS to print documents.
printing.enable = true;
# Garbage collect automatically every week
gc.automatic = lib.mkDefault true;
gc.options = lib.mkDefault "--delete-older-than 30d";
optimise.automatic = lib.mkDefault true;
};
networking = {
hostName = "steamdeck";
networkmanager = {
xserver = {
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 = {
"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";
};
};
};
};
desktopManager.gnome.enable = true;
};
};
# 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 ];
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.
users.users.deck = {
hashedPasswordFile = config.sops.secrets."desktop/matt_password".path;
isNormalUser = true;
extraGroups = [ "wheel" ]; # Enable sudo for the user.
openssh.authorizedKeys.keys = [
# macBook
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCw9zq8DLGByI5v2gAn95hKNyOsm3g61a2buxu2BBMFysQJgmZPCCLUqRJKhSM5Vm/JOgsAmdpRBRZQoHD+6S844CJHb4v4VIbjkyQgYCuM7Rst2IOZ5QybvsA2/D0nwytZ+HXQqDj2AagUYDbz0gyyIHkDQ5YGBMkvkWz/h1Vci6aoBM7VihEDM4KlWoTVuPeASGM8r5IZ2FS83Djbqo4ov6AYvLMrKB9Z7hmFgH6R3LE0gxOkzbGVXtSuvJyrjvgytoT22UhATjjxSQ9D+YJXXkQoB3lUdg8OoIquUPjMZpl4mR8ffvseWPfcvD1XlD5t+TOHFqKpESO547tlOBYhdpew+NSgAXpamCU6oyV8tDCywLQu2ucxHRn78u6WXzWHkDtffdhzmk6TZaPhWqVHuTGjR4higBgGqUfSaKOMszt+FDRZAr3HtuQ2+zJ8bowK9fW5OqilTtK2HtQqroD9ApegDNbqOz6kGy5IycSXvqPURy/M4lxZxbtBPuemcJs= mattjallen@MacBook-Pro.local"
# desktop windows
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDZ2PYPjZddOzR8OJj16G88KcUhCDLkvrEmpUQP0wKHDUuA27HQQ2ORo66asadwGHY3k1VDZ1ei9l9H++SIIeKOaaUr5yZdktvj4POUNtbd9ZhcS7sZU7BSF+NMDM+h3tImh6z0S7mWvRQOUv3ZM+ZER+5xTWJVG1OOJEpb1drxJk6Qz0wbZKSR7TPNFBLLXlVy7hkNYf07RtDyhCCxNB3hJfa8c+oztnWumwDhDQWLqiUXWIU2QH6iRLGl/WYnujtNvVVaV/Hn3JJkS6MM9dnV3cpoIO0+J7+WfsN9rZ0wXt5yY3GhiGXwmcO5eYVli8lHlLWtK7aYSETyry6CBsLbojzOQO5rSqhpwfF2njAAFAQU0UjLc8PahisIuFKCwHH4iyXXOagiv5K1Mc/0Ak+WhhMPee6vV2p7NTyNpXRvouDbWy5cSRH31WgQ9fK5mIGe5v8nGGqtEhUubUkiOgP+H3UbT2V/nTv/TFKdJcKw+WmizvTrxBmaMjWALlkYl+s= mattl@Jallen-PC"
# desktop nixos
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPTBMydhOc6SnOdB5WrEd7X07DrboAtagCUgXiOJjLov matt@matt-nixos"
];
packages = with pkgs; [
firefox
tree
];
shell = pkgs.zsh;
users.users = {
deck = {
hashedPasswordFile = config.sops.secrets."desktop/matt_password".path;
isNormalUser = true;
extraGroups = [ "wheel" ]; # Enable sudo for the user.
openssh.authorizedKeys.keys = [
# macBook
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCw9zq8DLGByI5v2gAn95hKNyOsm3g61a2buxu2BBMFysQJgmZPCCLUqRJKhSM5Vm/JOgsAmdpRBRZQoHD+6S844CJHb4v4VIbjkyQgYCuM7Rst2IOZ5QybvsA2/D0nwytZ+HXQqDj2AagUYDbz0gyyIHkDQ5YGBMkvkWz/h1Vci6aoBM7VihEDM4KlWoTVuPeASGM8r5IZ2FS83Djbqo4ov6AYvLMrKB9Z7hmFgH6R3LE0gxOkzbGVXtSuvJyrjvgytoT22UhATjjxSQ9D+YJXXkQoB3lUdg8OoIquUPjMZpl4mR8ffvseWPfcvD1XlD5t+TOHFqKpESO547tlOBYhdpew+NSgAXpamCU6oyV8tDCywLQu2ucxHRn78u6WXzWHkDtffdhzmk6TZaPhWqVHuTGjR4higBgGqUfSaKOMszt+FDRZAr3HtuQ2+zJ8bowK9fW5OqilTtK2HtQqroD9ApegDNbqOz6kGy5IycSXvqPURy/M4lxZxbtBPuemcJs= mattjallen@MacBook-Pro.local"
# desktop windows
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDZ2PYPjZddOzR8OJj16G88KcUhCDLkvrEmpUQP0wKHDUuA27HQQ2ORo66asadwGHY3k1VDZ1ei9l9H++SIIeKOaaUr5yZdktvj4POUNtbd9ZhcS7sZU7BSF+NMDM+h3tImh6z0S7mWvRQOUv3ZM+ZER+5xTWJVG1OOJEpb1drxJk6Qz0wbZKSR7TPNFBLLXlVy7hkNYf07RtDyhCCxNB3hJfa8c+oztnWumwDhDQWLqiUXWIU2QH6iRLGl/WYnujtNvVVaV/Hn3JJkS6MM9dnV3cpoIO0+J7+WfsN9rZ0wXt5yY3GhiGXwmcO5eYVli8lHlLWtK7aYSETyry6CBsLbojzOQO5rSqhpwfF2njAAFAQU0UjLc8PahisIuFKCwHH4iyXXOagiv5K1Mc/0Ak+WhhMPee6vV2p7NTyNpXRvouDbWy5cSRH31WgQ9fK5mIGe5v8nGGqtEhUubUkiOgP+H3UbT2V/nTv/TFKdJcKw+WmizvTrxBmaMjWALlkYl+s= mattl@Jallen-PC"
# desktop nixos
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPTBMydhOc6SnOdB5WrEd7X07DrboAtagCUgXiOJjLov matt@matt-nixos"
];
packages = with pkgs; [
firefox
tree
];
shell = pkgs.zsh;
};
root.shell = pkgs.zsh;
};
users.users.root.shell = pkgs.zsh;
programs = {
gamemode.enable = lib.mkDefault true;
zsh.enable = true;
nix-ld.enable = true;
nix-ld.libraries = with pkgs; [
bash
glib
gtk3
SDL2
libGL
openal
nix-ld = {
enable = true;
libraries = with pkgs; [
bash
glib
gtk3
SDL2
libGL
openal
xorg.libX11
xorg.libICE
xorg.libSM
xorg.libXcursor
xorg.libXrandr
xorg.libXi
xorg.libX11
xorg.libICE
xorg.libSM
xorg.libXcursor
xorg.libXrandr
xorg.libXi
alsa-lib
libpulseaudio
alsa-lib
libpulseaudio
zlib
libgdiplus
icu
zlib
libgdiplus
icu
fontconfig
freetype
expat
fontconfig
freetype
expat
vulkan-loader
];
vulkan-loader
];
};
};
services = {
flatpak.enable = true;
btrfs = {
autoScrub.enable = lib.mkDefault true;
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;
# List packages installed in system profile. To search, run:
@@ -179,17 +107,9 @@
fuse
jq
newt
maliit-keyboard
onlyoffice-bin
python3
rsync
sbctl
smartmontools
steam-run
udisks2
unzip
usbutils
plymouth
zenity
];
@@ -211,35 +131,5 @@
# Enable the OpenSSH daemon.
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, ... }:
let
shellAliases = {
ll = "ls -alh";
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-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";
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
{
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.homeDirectory = "/home/deck";
home.stateVersion = "23.11";
programs.home-manager.enable = true;
sops = {
age.keyFile = "/home/deck/.config/sops/age/keys.txt";
@@ -43,35 +37,6 @@ in
};
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 = {
enable = true;
steamUsername = "mjallen18";
@@ -103,64 +68,15 @@ in
};
};
};
zsh.shellAliases = shellAliases;
};
home.packages = with pkgs; [
age
apple-cursor
chromium
colloid-icon-theme
colloid-gtk-theme
dolphin-emu
fastfetch
gnome-tweaks
gnomeExtensions.appindicator
gnomeExtensions.dash-to-dock
gnomeExtensions.tiling-assistant
heroic
lm_sensors
mission-center
mgba
nextcloud-client
nixfmt-rfc-style
prismlauncher
protonup
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
timezone = "America/Chicago";
@@ -72,9 +72,20 @@ in
optimise.automatic = lib.mkDefault true;
};
# Configure nixpkgs
# Enable non free
nixpkgs.config.allowUnfree = lib.mkForce true;
# Nixpkgs configuration
nixpkgs = {
# add unstable and stable overlays
overlays = [
outputs.overlays.nixpkgs-unstable
outputs.overlays.nixpkgs-stable
];
config = {
allowUnfree = lib.mkForce true;
permittedInsecurePackages = [
# ...
];
};
};
# Hardware configs
hardware = {

View File

@@ -24,38 +24,25 @@ let
aspellDicts.en-science
borgbackup
# brscan5
clinfo
direnv
efibootmgr
gparted
grsync
kmod
kdePackages.ksvg
lact
memtest86-efi
memtest86plus
nano
occt
onlyoffice-bin
os-prober
nil
papirus-icon-theme
pciutils
qemu_full
rclone
rclone-browser
restic
restic-browser
restic-integrity
rsync
sane-frontends
sbctl
smartmontools
usbutils
tpm2-tools
tpm2-tss
udisks2
vim
vulkan-tools
wget
unzip
winetricks
];
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 = {
nix-ld = {
@@ -182,7 +157,6 @@ in
xorg.libXi
];
};
gamemode.enable = true;
coolercontrol.enable = true;
kdeconnect = {
enable = true;

View File

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

View File

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

View File

@@ -1,28 +1,31 @@
{ pkgs,... }:
{ config, lib, pkgs,... }:
let
shellAliases = {
ll = "ls -alh";
update-boot = "sudo nixos-rebuild boot --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";
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";
};
excludePkgs = with pkgs; [
chromium
gamescope
gamescope-wsi
goverlay
protonup
vesktop
vmware-horizon-client
];
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.homeDirectory = "/home/admin";
home.stateVersion = "23.11";
sops = {
age.keyFile = "/home/admin/.config/sops/age/keys.txt";
@@ -60,12 +63,6 @@ in
};
programs = {
home-manager.enable = true;
mangohud.enable = true;
java.enable = true;
password-store.enable = true;
btop.enable = true;
neovim = {
enable = true;
viAlias = true;
@@ -80,30 +77,8 @@ in
];
};
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.gitFull;
userName = "mjallen18";
userEmail = "matt.l.jallen@gmail.com";
aliases = gitAliases;
extraConfig = {
credential.helper = "libsecret";
};
};
zsh.shellAliases = shellAliases;
};
home.packages = lib.filter (pkg: !(lib.elem pkg excludePkgs)) config.home.packages;
}

View File

@@ -46,13 +46,11 @@ in
environment = {
systemPackages = with pkgs; [
git
libraspberrypi
raspberrypi-eeprom
raspberrypifw
raspberrypiWirelessFirmware
raspberrypi-armstubs
vim
];
etc = {
"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
shellAliases = {
ll = "ls -alh";
@@ -10,21 +10,30 @@ let
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";
};
excludePkgs = with pkgs; [
chromium
clinfo
coolercontrol.coolercontrol-gui
firefox
gamescope
gamescope-wsi
goverlay
gparted
mission-center
protonup
vesktop
vmware-horizon-client
vulkan-tools
];
in
{
imports = [
../../share/home/defaults.nix
../../share/home/git.nix
../../share/home/shell.nix
];
home.username = "matt";
home.homeDirectory = "/home/matt";
home.stateVersion = "23.11";
sops = {
age.keyFile = "/home/matt/.config/sops/age/keys.txt";
@@ -62,44 +71,14 @@ in
};
programs = {
fish.enable = false;
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;
};
java.enable = lib.mkForce true;
mangohud.enable = lib.mkForce true;
zsh.shellAliases = shellAliases;
};
home.packages = with pkgs; [
age
btop
fastfetch
firefox
home-manager
lm_sensors
mission-center
sops
tree
vscode
];
services = {
nextcloud-client.enable = lib.mkForce true;
};
home.packages = lib.filter (pkg: !(lib.elem pkg excludePkgs)) config.home.packages;
}

View File

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

View File

@@ -1,30 +1,24 @@
{ pkgs, lib, ... }:
let
shellAliases = {
ll = "ls -alh";
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-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";
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
{
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.homeDirectory = "/home/matt";
home.stateVersion = "23.11";
sops = {
age.keyFile = "/home/matt/.config/sops/age/keys.txt";
@@ -50,83 +44,6 @@ in
};
programs = {
fish.enable = false;
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";
};
zsh.shellAliases = shellAliases;
};
}

View File

@@ -36,6 +36,8 @@ in
openFirewall = true;
};
programs.gamemode.enable = true;
# Hardware configs
hardware = {
# 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
shellAliases = {
ll = "ls -alh";
update-boot = "nixos-rebuild boot --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
{
imports = [
../home/defaults.nix
../home/git.nix
../home/shell.nix
];
home.username = "root";
home.homeDirectory = "/root";
home.stateVersion = "23.11";
programs = {
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;
};
zsh.shellAliases = shellAliases;
};
}