Initial commit

This commit is contained in:
Jeffrey Serio 2023-07-08 12:38:13 -05:00
commit 5ef832d463
9 changed files with 844 additions and 0 deletions

3
README.org Normal file
View File

@ -0,0 +1,3 @@
* Declare all the things! for my laptop
NixOS configuration for my lappy-top. The machine doesn't /really/ go on my lap. That's just what it's called for some reason. It's technically more of a /mobile desktop/, in contrast to a /stationary desktop/, but nobody calls them that. Likely, nobody will ever call them that, because people are lazy and prefer short, two-syllable terms when refering to everyday things. Or else it's just a /computer/, or /'puter/ for short.

53
configuration.nix Normal file
View File

@ -0,0 +1,53 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running `nixos-help`).
{...}: {
imports = [
<home-manager/nixos>
./environment
./hardware
./home-manager
./networking
./users
./zfs
];
# Boot settings
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.supportedFilesystems = ["zfs"];
boot.zfs.requestEncryptionCredentials = true;
# Set your time zone.
time.timeZone = "America/Chicago";
# Nix daemon config
nix = {
settings = {
auto-optimise-store = true;
trusted-users = ["root" "jas"];
experimental-features = ["nix-command" "flakes"];
keep-outputs = true;
keep-derivations = true;
};
gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 7d";
};
};
# 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 value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. It's perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "23.05"; # Did you read the comment?
}

115
environment/default.nix Normal file
View File

@ -0,0 +1,115 @@
{
lib,
pkgs,
...
}: {
services.xserver = {
enable = true;
desktopManager.gnome.enable = true;
displayManager.gdm.enable = true;
};
services.openssh = {
enable = lib.mkDefault true;
settings = {PasswordAuthentication = lib.mkDefault true;};
settings.X11Forwarding = true;
};
environment.shells = [pkgs.bashInteractive pkgs.zsh];
programs.zsh.enable = true;
environment.systemPackages = with pkgs; [
alejandra
autossh
bat-extras.batdiff
bat-extras.batgrep
bat-extras.batman
bat-extras.batwatch
bat-extras.prettybat
btop
catppuccin-cursors.mochaRed
charm
coreutils
dconf2nix
deadnix
du-dust
duf
exa
fd
git
gnome.dconf-editor
gnome.gnome-screenshot
gnome.gnome-terminal
gnome.gnome-tweaks
gnomeExtensions.appindicator
gnomeExtensions.openweather
gnomeExtensions.pano
gnomeExtensions.quake-mode
gnomeExtensions.unite
gnomeExtensions.uptime-indicator
gnomeExtensions.user-themes
jq
killall
ldns
libnotify
lnav
lsof
mullvad-vpn
nix-diff
nix-doc
nix-du
nix-tree
nmap
pinentry
prettyping
ranger
ripgrep
rofi
rofimoji
skate
starship
statix
trash-cli
unzip
vim
wget
xclip
xsel
zip
];
fonts.fonts = with pkgs; [
font-awesome
nerdfonts
noto-fonts
noto-fonts-extra
rubik
];
fonts.fontconfig = {
antialias = true;
hinting = {
enable = true;
style = "hintslight";
autohint = false;
};
subpixel = {
lcdfilter = "default";
rgba = "rgb";
};
defaultFonts = {
serif = ["Noto Serif"];
sansSerif = ["Noto Sans"];
monospace = ["JetBrainsMono Nerd Font Mono"];
};
};
programs.gnupg = {
agent.enable = true;
agent.pinentryFlavor = "gnome3";
dirmngr.enable = true;
};
}

73
hardware/default.nix Normal file
View File

@ -0,0 +1,73 @@
# 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 = ["xhci_pci" "thunderbolt" "nvme" "usbhid"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [];
fileSystems."/" = {
device = "rpool/nixos/root";
fsType = "zfs";
};
fileSystems."/boot" = {
device = "bpool/nixos/root";
fsType = "zfs";
};
fileSystems."/home" = {
device = "rpool/nixos/home";
fsType = "zfs";
};
fileSystems."/var/lib" = {
device = "rpool/nixos/var/lib";
fsType = "zfs";
};
fileSystems."/var/log" = {
device = "rpool/nixos/var/log";
fsType = "zfs";
};
fileSystems."/boot/efis/nvme-SKHynix_HFS512GEJ9X113N_4YC2N026710904U3D-part1" = {
device = "systemd-1";
fsType = "autofs";
};
# 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;
# Thinkpad X1 Carbon - Intel settings
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
# sound config
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
# System76 config
services.system76-scheduler.enable = true;
hardware.system76.power-daemon.enable = true;
}

355
home-manager/dconf.nix Normal file
View File

@ -0,0 +1,355 @@
# Generated via dconf2nix: https://github.com/gvolpe/dconf2nix
{ lib, ... }:
with lib.hm.gvariant;
{
dconf.settings = {
"com/github/repsac-by/quake-mode" = {
quake-mode-focusout = true;
quake-mode-height = 76;
quake-mode-hide-from-overview = false;
quake-mode-monitor = 1;
quake-mode-width = 100;
};
"com/github/repsac-by/quake-mode/accelerators" = {
quake-mode-accelerator-1 = [ "<Alt>z" ];
};
"com/github/repsac-by/quake-mode/apps" = {
app-1 = "org.gnome.Terminal.desktop";
};
"org/gnome/Console" = {
font-scale = 1.1;
};
"org/gnome/Totem" = {
active-plugins = [ "save-file" "recent" "autoload-subtitles" "open-directory" "vimeo" "screensaver" "rotation" "screenshot" "variable-rate" "movie-properties" "mpris" "apple-trailers" "skipto" ];
subtitle-encoding = "UTF-8";
};
"org/gnome/control-center" = {
last-panel = "background";
window-state = mkTuple [ 980 640 ];
};
"org/gnome/desktop/app-folders" = {
folder-children = [ "Utilities" "YaST" ];
};
"org/gnome/desktop/app-folders/folders/Utilities" = {
apps = [ "gnome-abrt.desktop" "gnome-system-log.desktop" "nm-connection-editor.desktop" "org.gnome.baobab.desktop" "org.gnome.Connections.desktop" "org.gnome.DejaDup.desktop" "org.gnome.Dictionary.desktop" "org.gnome.DiskUtility.desktop" "org.gnome.eog.desktop" "org.gnome.Evince.desktop" "org.gnome.FileRoller.desktop" "org.gnome.fonts.desktop" "org.gnome.seahorse.Application.desktop" "org.gnome.tweaks.desktop" "org.gnome.Usage.desktop" "vinagre.desktop" ];
categories = [ "X-GNOME-Utilities" ];
name = "X-GNOME-Utilities.directory";
translate = true;
};
"org/gnome/desktop/app-folders/folders/YaST" = {
categories = [ "X-SuSE-YaST" ];
name = "suse-yast.directory";
translate = true;
};
"org/gnome/desktop/background" = {
color-shading-type = "solid";
picture-options = "zoom";
picture-uri = "file:///home/jas/.local/share/backgrounds/2023-06-20-18-48-15-catppuccin_squares-red.png";
picture-uri-dark = "file:///home/jas/.local/share/backgrounds/2023-06-20-18-48-15-catppuccin_squares-red.png";
primary-color = "#000000000000";
secondary-color = "#000000000000";
};
"org/gnome/desktop/input-sources" = {
sources = [ (mkTuple [ "xkb" "us" ]) ];
xkb-options = [ "terminate:ctrl_alt_bksp" ];
};
"org/gnome/desktop/interface" = {
clock-format = "12h";
clock-show-weekday = true;
color-scheme = "prefer-dark";
cursor-theme = "Catppuccin-Mocha-Red-Cursors";
document-font-name = "Rubik 12";
font-antialiasing = "rgba";
font-hinting = "slight";
font-name = "Rubik 12";
gtk-theme = "Catppuccin-Mocha-Standard-Red-dark";
icon-theme = "Papirus-Dark";
monospace-font-name = "JetBrainsMono Nerd Font Mono 12";
show-battery-percentage = true;
text-scaling-factor = 1.2;
};
"org/gnome/desktop/notifications" = {
application-children = [ "org-gnome-epiphany" "gnome-power-panel" "firefox" "org-gnome-nautilus" "com-nextcloud-desktopclient-nextcloud" "gnome-network-panel" ];
show-in-lock-screen = false;
};
"org/gnome/desktop/notifications/application/com-nextcloud-desktopclient-nextcloud" = {
application-id = "com.nextcloud.desktopclient.nextcloud.desktop";
};
"org/gnome/desktop/notifications/application/firefox" = {
application-id = "firefox.desktop";
};
"org/gnome/desktop/notifications/application/gnome-network-panel" = {
application-id = "gnome-network-panel.desktop";
};
"org/gnome/desktop/notifications/application/gnome-power-panel" = {
application-id = "gnome-power-panel.desktop";
};
"org/gnome/desktop/notifications/application/mullvad-vpn" = {
application-id = "mullvad-vpn.desktop";
};
"org/gnome/desktop/notifications/application/org-gnome-epiphany" = {
application-id = "org.gnome.Epiphany.desktop";
};
"org/gnome/desktop/notifications/application/org-gnome-nautilus" = {
application-id = "org.gnome.Nautilus.desktop";
};
"org/gnome/desktop/privacy" = {
disable-camera = true;
disable-microphone = true;
};
"org/gnome/desktop/screensaver" = {
color-shading-type = "solid";
lock-enabled = false;
picture-options = "zoom";
picture-uri = "file:///home/jas/.local/share/backgrounds/2023-06-20-18-48-15-catppuccin_squares-red.png";
primary-color = "#000000000000";
secondary-color = "#000000000000";
};
"org/gnome/desktop/session" = {
idle-delay = mkUint32 300;
};
"org/gnome/desktop/sound" = {
event-sounds = true;
theme-name = "freedesktop";
};
"org/gnome/desktop/wm/keybindings" = {
activate-window-menu = [];
};
"org/gnome/desktop/wm/preferences" = {
button-layout = "appmenu:minimize,maximize,close";
num-workspaces = 1;
titlebar-font = "Rubik Bold 12";
};
"org/gnome/epiphany" = {
ask-for-default = false;
};
"org/gnome/epiphany/state" = {
is-maximized = false;
window-size = mkTuple [ 1760 1448 ];
};
"org/gnome/evolution-data-server" = {
migrated = true;
};
"org/gnome/gnome-screenshot" = {
delay = 0;
include-pointer = false;
last-save-directory = "file:///home/jas/downloads";
};
"org/gnome/mutter" = {
edge-tiling = true;
};
"org/gnome/nautilus/preferences" = {
default-folder-viewer = "icon-view";
migrated-gtk-settings = true;
search-filter-time-type = "last_modified";
};
"org/gnome/nautilus/window-state" = {
initial-size = mkTuple [ 890 550 ];
};
"org/gnome/settings-daemon/plugins/color" = {
night-light-enabled = false;
};
"org/gnome/settings-daemon/plugins/media-keys" = {
custom-keybindings = [ "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/" "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/" ];
};
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
binding = "<Alt>space";
command = "rofi -show";
name = "rofi";
};
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = {
binding = "<Alt>b";
command = "rofi -show Bookmarks";
name = "rofi Bookmarks";
};
"org/gnome/settings-daemon/plugins/power" = {
idle-dim = false;
sleep-inactive-ac-type = "nothing";
};
"org/gnome/shell" = {
app-picker-layout = "[{'org.gnome.Geary.desktop': <{'position': <0>}>, 'org.gnome.Contacts.desktop': <{'position': <1>}>, 'org.gnome.Weather.desktop': <{'position': <2>}>, 'org.gnome.clocks.desktop': <{'position': <3>}>, 'org.gnome.Maps.desktop': <{'position': <4>}>, 'org.gnome.Extensions.desktop': <{'position': <5>}>, 'org.gnome.Photos.desktop': <{'position': <6>}>, 'org.gnome.Totem.desktop': <{'position': <7>}>, 'org.gnome.Calculator.desktop': <{'position': <8>}>, 'nvim.desktop': <{'position': <9>}>, 'simple-scan.desktop': <{'position': <10>}>, 'org.gnome.Settings.desktop': <{'position': <11>}>, 'gnome-system-monitor.desktop': <{'position': <12>}>, 'nixos-manual.desktop': <{'position': <13>}>, 'nvidia-settings.desktop': <{'position': <14>}>, 'Utilities': <{'position': <15>}>, 'org.gnome.TextEditor.desktop': <{'position': <16>}>, 'yelp.desktop': <{'position': <17>}>, 'org.gnome.Tour.desktop': <{'position': <18>}>, 'org.gnome.Cheese.desktop': <{'position': <19>}>, 'xterm.desktop': <{'position': <20>}>, 'org.gnome.Music.desktop': <{'position': <21>}>, 'org.gnome.Calendar.desktop': <{'position': <22>}>, 'ca.desrt.dconf-editor.desktop': <{'position': <23>}>}, {'emacs.desktop': <{'position': <0>}>, 'emacsclient.desktop': <{'position': <1>}>, 'mullvad-vpn.desktop': <{'position': <2>}>, 'org.gnome.Epiphany.desktop': <{'position': <3>}>}]";
disabled-extensions = [ "pop-shell@system76.com" ];
enabled-extensions = [ "appindicatorsupport@rgcjonas.gmail.com" "openweather-extension@jenslody.de" "pano@elhan.io" "quake-mode@repsac-by.github.com" "system-monitor-next@paradoxxx.zero.gmail.com" "unite@hardpixel.eu" "uptime-indicator@gniourfgniourf.gmail.com" "user-theme@gnome-shell-extensions.gcampax.github.com" ];
favorite-apps = [ "org.gnome.Nautilus.desktop" "org.gnome.Terminal.desktop" "firefox.desktop" "org.gnome.tweaks.desktop" "org.gnome.Extensions.desktop" "emacs.desktop" "fi.skyjake.Lagrange.desktop" ];
welcome-dialog-last-shown-version = "44.1";
};
"org/gnome/shell/extensions/openweather" = {
city = "41.8755616,-87.6244212>Chicago, Cook County, Illinois, United States>0";
position-in-panel = "center";
pressure-unit = "inHg";
unit = "fahrenheit";
wind-speed-unit = "mph";
};
"org/gnome/shell/extensions/pano" = {
history-length = 50;
paste-on-select = false;
play-audio-on-copy = false;
send-notification-on-copy = false;
sync-primary = true;
};
"org/gnome/shell/extensions/unite" = {
extend-left-box = false;
notifications-position = "center";
window-buttons-placement = "left";
};
"org/gnome/shell/extensions/user-theme" = {
name = "Catppuccin-Mocha-Standard-Red-dark";
};
"org/gnome/terminal/legacy/profiles:" = {
default = "95894cfd-82f7-430d-af6e-84d168bc34f5";
list = [ "de8a9081-8352-4ce4-9519-5de655ad9361" "71a9971e-e829-43a9-9b2f-4565c855d664" "5083e06b-024e-46be-9cd2-892b814f1fc8" "95894cfd-82f7-430d-af6e-84d168bc34f5" ];
};
"org/gnome/terminal/legacy/profiles:/:5083e06b-024e-46be-9cd2-892b814f1fc8" = {
background-color = "#24273a";
cursor-background-color = "#f4dbd6";
cursor-colors-set = true;
cursor-foreground-color = "#24273a";
foreground-color = "#cad3f5";
highlight-background-color = "#24273a";
highlight-colors-set = true;
highlight-foreground-color = "#5b6078";
palette = [ "#494d64" "#ed8796" "#a6da95" "#eed49f" "#8aadf4" "#f5bde6" "#8bd5ca" "#b8c0e0" "#5b6078" "#ed8796" "#a6da95" "#eed49f" "#8aadf4" "#f5bde6" "#8bd5ca" "#a5adcb" ];
use-theme-colors = false;
visible-name = "Catppuccin Macchiato";
};
"org/gnome/terminal/legacy/profiles:/:71a9971e-e829-43a9-9b2f-4565c855d664" = {
background-color = "#303446";
cursor-background-color = "#f2d5cf";
cursor-colors-set = true;
cursor-foreground-color = "#303446";
foreground-color = "#c6d0f5";
highlight-background-color = "#303446";
highlight-colors-set = true;
highlight-foreground-color = "#626880";
palette = [ "#51576d" "#e78284" "#a6d189" "#e5c890" "#8caaee" "#f4b8e4" "#81c8be" "#b5bfe2" "#626880" "#e78284" "#a6d189" "#e5c890" "#8caaee" "#f4b8e4" "#81c8be" "#a5adce" ];
use-theme-colors = false;
visible-name = "Catppuccin Frappe";
};
"org/gnome/terminal/legacy/profiles:/:95894cfd-82f7-430d-af6e-84d168bc34f5" = {
audible-bell = false;
background-color = "#1e1e2e";
cursor-background-color = "#f5e0dc";
cursor-colors-set = true;
cursor-foreground-color = "#1e1e2e";
font = "JetBrainsMono Nerd Font Mono 10";
foreground-color = "#cdd6f4";
highlight-background-color = "#1e1e2e";
highlight-colors-set = true;
highlight-foreground-color = "#585b70";
palette = [ "#45475a" "#f38ba8" "#a6e3a1" "#f9e2af" "#89b4fa" "#f5c2e7" "#94e2d5" "#bac2de" "#585b70" "#f38ba8" "#a6e3a1" "#f9e2af" "#89b4fa" "#f5c2e7" "#94e2d5" "#a6adc8" ];
scroll-on-output = true;
use-system-font = false;
use-theme-colors = false;
visible-name = "Catppuccin Mocha";
};
"org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9" = {
background-color = "rgb(23,20,33)";
foreground-color = "rgb(208,207,204)";
use-theme-colors = false;
};
"org/gnome/terminal/legacy/profiles:/:de8a9081-8352-4ce4-9519-5de655ad9361" = {
background-color = "#eff1f5";
cursor-background-color = "#dc8a78";
cursor-colors-set = true;
cursor-foreground-color = "#eff1f5";
foreground-color = "#4c4f69";
highlight-background-color = "#eff1f5";
highlight-colors-set = true;
highlight-foreground-color = "#acb0be";
palette = [ "#5c5f77" "#d20f39" "#40a02b" "#df8e1d" "#1e66f5" "#ea76cb" "#179299" "#acb0be" "#6c6f85" "#d20f39" "#40a02b" "#df8e1d" "#1e66f5" "#ea76cb" "#179299" "#bcc0cc" ];
use-theme-colors = false;
visible-name = "Catppuccin Latte";
};
"org/gnome/tweaks" = {
show-extensions-notice = false;
};
"org/gtk/gtk4/settings/file-chooser" = {
date-format = "regular";
location-mode = "path-bar";
show-hidden = false;
show-size-column = true;
show-type-column = true;
sidebar-width = 140;
sort-column = "name";
sort-directories-first = false;
sort-order = "ascending";
type-format = "category";
view-type = "list";
window-size = mkTuple [ 944 654 ];
};
"org/gtk/settings/color-chooser" = {
custom-colors = [ (mkTuple [ 0.411765 2.3529e-2 ]) ];
selected-color = mkTuple [ true 0.878431 ];
};
"org/gtk/settings/file-chooser" = {
clock-format = "12h";
date-format = "regular";
location-mode = "path-bar";
show-hidden = false;
show-size-column = true;
show-type-column = true;
sidebar-width = 170;
sort-column = "name";
sort-directories-first = false;
sort-order = "ascending";
type-format = "category";
window-position = mkTuple [ 344 65 ];
window-size = mkTuple [ 1231 902 ];
};
};
}

161
home-manager/default.nix Normal file
View File

@ -0,0 +1,161 @@
{config, ...}: {
home-manager.useUserPackages = true;
home-manager.useGlobalPkgs = true;
home-manager.users.jas = {pkgs, ...}: {
home.packages = with pkgs; [
amfora
diff-so-fancy
emacs
firefox
gcc
glow
gnumake
go
go-tools
gopls
gops
gosec
gum
httpie
hugo
hyperfine
lagrange
neofetch
nextcloud-client
node2nix
nodejs
pass
python3Full
rustup
shellcheck
shfmt
stow
tealdeer
w3m
xorg.xauth
yarn
zsh-nix-shell
zellij
];
imports = [./dconf.nix];
home = {
username = "jas";
homeDirectory = "/home/jas";
stateVersion = "23.05";
};
programs.git = {
enable = true;
userEmail = "23226432+hyperreal64@users.noreply.github.com";
userName = "Jeffrey Serio";
extraConfig = {
safe.directory = "/etc/nixos";
core = {
editor = "vim";
pager = "diff-so-fancy | less --tabs=4 -RFX";
};
init.defaultBranch = "main";
pull.rebase = true;
};
};
programs.gpg = {
enable = true;
settings = {
default-key = "0x9129BD07C3509CED";
no-emit-version = true;
no-comments = true;
display-charset = "utf-8";
keyid-format = "0xlong";
with-fingerprint = true;
use-agent = true;
};
};
services.gpg-agent = {
enable = true;
defaultCacheTtl = 1800;
enableSshSupport = true;
};
programs.fzf = {
enable = true;
defaultCommand = "fd --type f";
};
programs.bat = {
enable = true;
config = {
pager = "less -FR";
theme = "Catppuccin-Mocha";
};
};
manual.json.enable = true;
xdg.userDirs = {
enable = true;
createDirectories = true;
documents = "\$HOME/Nextcloud/documents";
download = "\$HOME/downloads";
pictures = "\$HOME/Nextcloud/pictures";
publicShare = "\$HOME/public";
music = "\$HOME/misc/music";
videos = "\$HOME/misc/videos";
templates = "\$HOME/misc/templates";
};
services.nextcloud-client.enable = true;
programs.ssh = {
enable = true;
matchBlocks = {
"nexus.local" = {
hostname = "nexus.local";
user = "jas";
identityFile = "/home/jas/.ssh/id_ed25519";
};
"hyperreal.coffee" = {
hostname = "hyperreal.coffee";
user = "jas";
identityFile = "/home/jas/.ssh/id_ed25519";
};
"nc.hyperreal.coffee" = {
hostname = "nc.hyperreal.coffee";
user = "jas";
identityFile = "/home/jas/.ssh/id_ed25519";
};
"soft-serve.local" = {
hostname = "soft-serve.local";
port = 23231;
identityFile = "/home/jas/.ssh/id_ed25519";
};
};
};
gtk = {
enable = true;
iconTheme = {
name = "Papirus-Dark";
package = pkgs.catppuccin-papirus-folders.override {
flavor = "mocha";
accent = "green";
};
};
theme = {
name = "Catppuccin-Mocha-Standard-Green-Dark";
package = pkgs.catppuccin-gtk.override {
accents = ["red"];
size = "standard";
variant = "mocha";
};
};
};
};
}

25
networking/default.nix Normal file
View File

@ -0,0 +1,25 @@
{
# Hostname
networking.hostName = "evergloam";
# NetworkManager
networking.networkmanager.enable = true;
# firewall config
networking.firewall = {
enable = true;
allowPing = true;
allowedTCPPorts = [22];
};
networking.hosts = {
"10.0.0.191" = ["nexus.local"];
"10.0.0.27" = ["logs.local"];
"10.0.0.159" = ["truenas.local"];
"10.0.0.41" = ["moonshadow.local"];
"10.0.0.223" = ["soft-serve.local"];
};
# mullvad-vpn
services.mullvad-vpn.enable = true;
}

29
users/default.nix Normal file
View File

@ -0,0 +1,29 @@
{
lib,
pkgs,
...
}: {
users.users = {
root.shell = pkgs.zsh;
jas = {
description = "Jeffrey Serio";
isNormalUser = true;
shell = pkgs.zsh;
};
};
security.sudo = {
enable = lib.mkDefault true;
extraRules = [
{
users = ["jas"];
commands = [
{
command = "ALL";
options = ["SETENV" "NOPASSWD"];
}
];
}
];
};
}

30
zfs/default.nix Normal file
View File

@ -0,0 +1,30 @@
{
networking.hostId = "f44d0bef";
services.znapzend = {
enable = true;
autoCreation = true;
zetup."rpool/nixos" = {
enable = true;
plan = "1y=>1d";
recursive = false;
destinations.remote = {
host = "root@truenas.local";
dataset = "nas/evergloam";
};
};
};
services.zfs.autoScrub.enable = true;
services.sanoid = {
enable = true;
datasets.rpool = {
hourly = 24;
daily = 7;
weekly = 4;
monthly = 12;
recursive = true;
};
};
}