Initial commit
This commit is contained in:
commit
5ef832d463
|
@ -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.
|
|
@ -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?
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
|
||||
};
|
||||
}
|
|
@ -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";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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"];
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Reference in New Issue