so much cleanup
This commit is contained in:
@@ -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?
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
|
||||||
}
|
|
||||||
@@ -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
44
hosts/deck/networking.nix
Normal 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";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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 = {
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 = {
|
||||||
|
|||||||
@@ -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";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
54
share/home/defaults.nix
Normal 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;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user