256 lines
11 KiB
Nix
Executable File
256 lines
11 KiB
Nix
Executable File
{ lib, pkgs, ... }:
|
|
let
|
|
shellAliases = {
|
|
ll = "ls -alh";
|
|
update-boot = "sudo nixos-rebuild boot --max-jobs 10 --build-host admin@10.0.1.18";
|
|
update-switch = "sudo nixos-rebuild switch --max-jobs 10 --build-host admin@10.0.1.18";
|
|
update-flake = "nix flake update desktop-nixpkgs desktop-chaotic desktop-home-manager desktop-impermanence desktop-lanzaboote desktop-nixos-hardware desktop-sops-nix desktop-steam-rom-manager --flake /etc/nixos";
|
|
update-nas = "nixos-rebuild switch --use-remote-sudo --target-host admin@10.0.1.18 --build-host admin@10.0.1.18 --flake ~/nix-config#jallen-nas";
|
|
nas-ssh = "kitten ssh admin@10.0.1.18";
|
|
ducks = "du -cksh * | sort -hr | head -n 15";
|
|
};
|
|
|
|
gitAliases = {
|
|
co = "checkout";
|
|
ci = "commit";
|
|
cia = "commit --amend";
|
|
s = "status";
|
|
st = "status";
|
|
b = "branch";
|
|
p = "pull --rebase";
|
|
pu = "push";
|
|
};
|
|
in
|
|
{
|
|
|
|
home.username = "matt";
|
|
home.homeDirectory = "/home/matt";
|
|
home.stateVersion = "23.11";
|
|
|
|
sops = {
|
|
age.keyFile = "/home/matt/.config/sops/age/keys.txt";
|
|
defaultSopsFile = "/etc/nixos/secrets/secrets.yaml";
|
|
validateSopsFiles = false;
|
|
secrets = {
|
|
"ssh-keys-public/desktop-nixos" = {
|
|
path = "/home/matt/.ssh/id_ed25519.pub";
|
|
mode = "0644";
|
|
};
|
|
"ssh-keys-private/desktop-nixos" = {
|
|
path = "/home/matt/.ssh/id_ed25519";
|
|
mode = "0600";
|
|
};
|
|
};
|
|
};
|
|
|
|
programs = {
|
|
mangohud.enable = true;
|
|
java.enable = true;
|
|
home-manager.enable = true;
|
|
password-store.enable = true;
|
|
onlyoffice = {
|
|
enable = true;
|
|
settings = {
|
|
UITheme = "theme-contrast-dark";
|
|
forcedRtl = false;
|
|
maximized = true;
|
|
};
|
|
};
|
|
|
|
zsh = {
|
|
enable = true;
|
|
enableCompletion = true;
|
|
autosuggestion.enable = true;
|
|
syntaxHighlighting.enable = true;
|
|
|
|
shellAliases = shellAliases;
|
|
|
|
oh-my-zsh = {
|
|
enable = true;
|
|
plugins = [ "git" ];
|
|
theme = "fishy";
|
|
};
|
|
};
|
|
|
|
librewolf = {
|
|
enable = true;
|
|
settings = {
|
|
"identity.fxaccounts.enabled" = true; # Enable Firefox Accounts
|
|
"privacy.clearOnShutdown.history" = false; # Disable clearing history on shutdown
|
|
"privacy.clearOnShutdown.downloads" = false; # Disable clearing downloads on shutdown
|
|
"privacy.clearOnShutdown.cache" = false; # Disable clearing cache on shutdown
|
|
"privacy.clearOnShutdown.cookiesAndStorage" = false; # Disable clearing cookies and storage on shutdown
|
|
"privacy.clearOnShutdown.cookies" = false; # Disable clearing cookies on shutdown
|
|
"privacy.clearOnShutdown_v2.cache" = false; # Disable clearing cache on shutdown
|
|
"privacy.clearOnShutdown_v2.cookiesAndStorage" = false; # Disable clearing cookies and storage on shutdown
|
|
"privacy.clearOnShutdown.formdata" = false; # Disable clearing form data on shutdown
|
|
"privacy.clearOnShutdown.offlineApps" = false; # Disable clearing offline apps on shutdown
|
|
"privacy.clearHistory.cache" = false; # Disable clearing cache on history clear
|
|
"privacy.clearHistory.cookiesAndStorage" = false; # Disable clearing cookies on history clear
|
|
"privacy.clearHistory.historyFormDataAndDownloads" = false; # Disable clearing history, form data, and downloads on history clear
|
|
"privacy.clearHistory.browsingHistoryAndDownloads" = false; # Disable clearing browsing history and downloads on history clear
|
|
"privacy.clearSiteData.cache" = false; # Disable clearing cache on site data clear
|
|
"privacy.clearSiteData.cookiesAndStorage" = false; # Disable clearing cookies on site data clear
|
|
"services.sync.prefs.sync.privacy.clearOnShutdown.cache" = true; # Enable syncing cache clear on shutdown
|
|
"services.sync.prefs.sync.privacy.clearOnShutdown.cookies" = true; # Enable syncing cookies clear on shutdown
|
|
"services.sync.prefs.sync.privacy.clearOnShutdown.downloads" = true; # Enable syncing downloads clear on shutdown
|
|
"services.sync.prefs.sync.privacy.clearOnShutdown.formdata" = true; # Enable syncing form data clear on shutdown
|
|
"services.sync.prefs.sync.privacy.clearOnShutdown.history" = true; # Enable syncing history clear on shutdown
|
|
"services.sync.prefs.sync.privacy.clearOnShutdown.offlineApps" = true; # Enable syncing offline apps clear on shutdown
|
|
"services.sync.prefs.sync.privacy.clearOnShutdown.sessions" = true; # Enable syncing sessions clear on shutdown
|
|
"services.sync.prefs.sync.privacy.clearOnShutdown.siteSettings" = true; # Enable syncing site settings clear on shutdown
|
|
"services.sync.prefs.sync.privacy.clearOnShutdown_v2.cache" = true; # Enable syncing cache clear on shutdown
|
|
"services.sync.prefs.sync.privacy.clearOnShutdown_v2.cookiesAndStorage" = true; # Enable syncing cookies clear on shutdown
|
|
"services.sync.prefs.sync.privacy.clearOnShutdown_v2.downloads" = true; # Enable syncing downloads clear on shutdown
|
|
"services.sync.prefs.sync.privacy.clearOnShutdown_v2.historyFormDataAndDownloads" = true; # Enable syncing form data clear on shutdown
|
|
"services.sync.prefs.sync.privacy.clearOnShutdown_v2.siteSettings" = true; # Enable syncing site settings clear on shutdown
|
|
"browser.newtabpage.activity-stream.feeds.topsites" = true; # Enable top sites on new tab page
|
|
"browser.newtabpage.activity-stream.topSitesRows" = 3; # Set number of rows for top sites on new tab page
|
|
"layout.css.light-dark.enabled" = true; # Enable light/dark theme support
|
|
"extensions.activeThemeID" = "default-theme@mozilla.org"; # Set active theme
|
|
"extensions.webextensions.uuids" = "{\"formautofill@mozilla.org\":\"851c83b7-26d5-449c-8cc9-d8951a0ce78d\",\"pictureinpicture@mozilla.org\":\"42fa2650-5134-4bef-bafa-b73f9ae51bad\",\"screenshots@mozilla.org\":\"efd2b692-43c4-433a-aea5-0cb79f8312d4\",\"webcompat-reporter@mozilla.org\":\"c43a6be2-fb56-4253-b384-ce8e09a89999\",\"webcompat@mozilla.org\":\"e25fd1bb-7c53-413f-9528-bb922c322a56\",\"default-theme@mozilla.org\":\"610b67c3-9145-46f7-814f-d8ee2cc8edff\",\"addons-search-detection@mozilla.com\:\"caedb3ca-5cf5-4e23-a251-d742f23e6fc8\",\"uBlock0@raymondhill.net\":\"7e7d9fd9-12bf-42d3-9c7c-9ffd05420ec7\",\"78272b6fa58f4a1abaac99321d503a20@proton.me\":\"7242a067-06d8-430b-94a3-00d264cdd57b\",\"addon@darkreader.org\":\"2f02b112-6acd-4bdc-af2c-1432eb527339\",\"jid1-xUfzOsOFlzSOXg@jetpack\":\"d0c72046-9903-4118-8160-a028840bf928\",\"chrome-gnome-shell@gnome.org\":\"a1ab53e6-b765-4f25-8349-383cc04682a0\",\"user-agent-switcher@ninetailed.ninja\":\"259d07cc-bb32-4ed5-b90f-6d73abdeb7bb\",\"firefoxdav@icloud.com\":\"110e6e2c-18f8-461d-9f26-b8f04482b6f1\",\"ciscowebexstart1@cisco.com\":\"a4062240-e73a-4353-bddb-d608d84881f7\",\"{a6c4a591-f1b2-4f03-b3ff-767e5bedf4e7}\":\"9164e437-812b-4a07-8dfd-2fd73b39329b\",\"{036a55b4-5e72-4d05-a06c-cba2dfcc134a}\":\"648fc678-a6fb-47cd-9792-fb9520678c17\",\"{446900e4-71c2-419f-a6a7-df9c091e268b}\":\"f0b43422-070e-466e-85c9-6543f209f075\",\"jid1-MnnxcxisBPnSXQ@jetpack\":\"4c448202-c843-4cae-b5c3-d11f2da58fa3\",\"soundfixer@unrelenting.technology\":\"59b35eb8-1c85-4919-a905-80d120993ddc\",\"floccus@handmadeideas.org\":\"8ad2956c-8091-41af-a689-7d2108f5958d\",\"{79b9dbcf-cc5a-4cda-89ef-c4ab097eb074}\":\"c2a223a7-32e0-4726-9f20-17236702b1f5\",\"linkgopher@oooninja.com\":\"a257858c-0dce-415b-b123-6222876cf843\"}";
|
|
};
|
|
};
|
|
|
|
git = {
|
|
enable = true;
|
|
userName = "mjallen18";
|
|
userEmail = "matt.l.jallen@gmail.com";
|
|
aliases = gitAliases;
|
|
};
|
|
|
|
steam-rom-manager = {
|
|
enable = true;
|
|
steamUsername = "matt";
|
|
|
|
environmentVariables = {
|
|
romsDirectory = "/home/matt/Games/roms";
|
|
steamDirectory = "/home/matt/.local/share/Steam";
|
|
};
|
|
|
|
emulators = {
|
|
ryujinx = {
|
|
enable = true;
|
|
};
|
|
pcsx2 = {
|
|
enable = true;
|
|
};
|
|
"Non-SRM Shortcuts" = {
|
|
enable = true;
|
|
parserType = "Non-SRM Shortcuts";
|
|
extraArgs = "";
|
|
};
|
|
# Add other emulators as needed
|
|
};
|
|
};
|
|
};
|
|
|
|
home.packages = with pkgs; [
|
|
age
|
|
apple-cursor
|
|
bottles
|
|
chromium
|
|
colloid-icon-theme
|
|
colloid-gtk-theme
|
|
unstable.compose2nix
|
|
coolercontrol.coolercontrol-gui
|
|
deadnix
|
|
discord
|
|
fastfetch
|
|
firefox
|
|
freerdp
|
|
gamescope
|
|
gamescope-wsi
|
|
gnome-tweaks
|
|
gnomeExtensions.appindicator
|
|
gnomeExtensions.arcmenu
|
|
gnomeExtensions.bing-wallpaper-changer
|
|
gnomeExtensions.dash-to-dock
|
|
gnomeExtensions.dash-to-panel
|
|
gnomeExtensions.gsconnect
|
|
gnomeExtensions.random-wallpaper
|
|
gnomeExtensions.tiling-assistant
|
|
gnomeExtensions.wikiart-wallpaper
|
|
google-chrome
|
|
goverlay
|
|
heroic
|
|
home-manager
|
|
jq
|
|
lm_sensors
|
|
lutris
|
|
mangohud
|
|
mission-center
|
|
morph
|
|
nextcloud-client
|
|
nixfmt-rfc-style
|
|
orca-slicer
|
|
papirus-icon-theme
|
|
piper
|
|
pop-gtk-theme
|
|
prismlauncher
|
|
protonup
|
|
protontricks
|
|
protonvpn-gui
|
|
protonvpn-gui
|
|
python3
|
|
python312Packages.tox
|
|
python312Packages.setuptools
|
|
python312Packages.pytest
|
|
python312Packages.pytest-cov
|
|
python312Packages.pyaml
|
|
qmk
|
|
remmina
|
|
smile
|
|
sops
|
|
spotify
|
|
ssh-to-pgp
|
|
tree
|
|
unigine-heaven
|
|
vesktop
|
|
via
|
|
virt-manager
|
|
vmware-horizon-client
|
|
vorta
|
|
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"
|
|
"BingWallpaper@ineffable-gmail.com"
|
|
"gsconnect@andyholmes.github.io"
|
|
];
|
|
"org/gnome/shell/extensions/bingwallpaper".override-lockscreen-blur = true;
|
|
"org/gnome/shell/extensions/bingwallpaper".random-mode-enabled = true;
|
|
"org/gnome/shell/extensions/bingwallpaper".revert-to-current-image = false;
|
|
"org/gnome/shell/extensions/dash-to-panel".primary-monitor = 1;
|
|
"org/gnome/shell/extensions/dash-to-panel".multi-monitors = false;
|
|
"org/gnome/shell/extensions/gsconnect".id = "4db35bd2-0dcd-42a3-9f77-ef3e8bb83182";
|
|
"org/gnome/shell/extensions/gsconnect".name = "matt-nixos";
|
|
"org/gnome/shell/extensions/user-theme".name = lib.mkDefault "Colloid-Dark";
|
|
"org/gtk/settings/file-chooser".clock-format = "12h";
|
|
};
|
|
};
|
|
}
|