198 lines
5.9 KiB
Nix
Executable file
198 lines
5.9 KiB
Nix
Executable file
{ config, pkgs, home-manager, ... }:
|
|
|
|
let
|
|
home-manager = builtins.fetchTarball {
|
|
url = "https://github.com/nix-community/home-manager/archive/master.tar.gz";
|
|
};
|
|
in
|
|
|
|
{
|
|
# Nix User Repository https://github.com/nix-community/NUR
|
|
nixpkgs.config.packageOverrides = pkgs: {
|
|
nur = import (builtins.fetchTarball "https://github.com/nix-community/NUR/archive/master.tar.gz") {
|
|
inherit pkgs;
|
|
};
|
|
};
|
|
|
|
imports = [
|
|
(import "${home-manager}/nixos")
|
|
];
|
|
|
|
users.users.jsutter = {
|
|
shell = pkgs.zsh;
|
|
isNormalUser = true;
|
|
description = "Julian Sutter";
|
|
extraGroups = [ "networkmanager" "wheel" "docker" "adbusers" "libvirtd" "syncthing" ];
|
|
hashedPassword = "$6$tvkhGd24G6pVOsWr$j8ZAqSnXPTGwMGmIulU5Puzqd4iKdu8eAMSFis/cPqTW6u2xGQMqPHH1W9IZwKSL6.nS7Jc/NR2VwpPosyXDH/";
|
|
openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBNVUh+RrcOSMRV6qysnsdPs5AyK8dSm4QhhnwgpikyI jsutter@symbiotrip.com" ];
|
|
packages = with pkgs; [
|
|
vlc
|
|
pinentry
|
|
arc-theme
|
|
zoom-us
|
|
slack
|
|
direnv
|
|
deluge
|
|
signal-desktop
|
|
putty
|
|
rpi-imager
|
|
discord
|
|
stremio
|
|
tigervnc
|
|
appimage-run
|
|
];
|
|
};
|
|
|
|
# Android Dev
|
|
programs.adb.enable = true;
|
|
|
|
# Syncthing
|
|
services.syncthing = {
|
|
enable = true;
|
|
systemService = true;
|
|
configDir = "/home/jsutter/.config/syncthing";
|
|
user = "jsutter";
|
|
group = "users";
|
|
dataDir = "/mnt/data";
|
|
overrideDevices = false; # overrides any devices added or deleted through the WebUI
|
|
overrideFolders = false; # overrides any folders added or deleted through the WebUI
|
|
settings = {
|
|
user = "admin";
|
|
password = "Monaco55";
|
|
};
|
|
};
|
|
|
|
# programs.openvpn3.enable = true;
|
|
|
|
# services.openvpn.servers = {
|
|
# mgmt-sfo = { config = '' config /home/jsutter/src/nixos/users/openvpn/mgmt-sfo-fw01-UDP4-1194-jsutter-config.ovpn ''; };
|
|
# mgmt-dr1 = { config = '' config /home/jsutter/src/nixos/users/openvpn/mgmt-dr1-fw01-UDP4-1194-jsutter-config.ovpn ''; };
|
|
# };
|
|
|
|
#Everything below is home manager managed:
|
|
home-manager = {
|
|
useUserPackages = true;
|
|
users.jsutter = {
|
|
home.username = "jsutter";
|
|
home.homeDirectory = "/home/jsutter";
|
|
programs.home-manager.enable = true;
|
|
home.stateVersion = "24.11";
|
|
services.syncthing.tray.enable = false;
|
|
|
|
programs.git = {
|
|
enable = true;
|
|
userName = "Julian Sutter";
|
|
userEmail = "jsutter@symbiotip.com";
|
|
extraConfig = {
|
|
core.editor = "nano";
|
|
credential.helper = "cache";
|
|
};
|
|
};
|
|
|
|
programs.go.enable= true;
|
|
|
|
programs.vscode = {
|
|
enable = true;
|
|
package = pkgs.vscodium;
|
|
extensions = with pkgs.vscode-extensions; [
|
|
dracula-theme.theme-dracula
|
|
yzhang.markdown-all-in-one
|
|
mkhl.direnv
|
|
golang.go
|
|
bbenoist.nix
|
|
arrterian.nix-env-selector
|
|
jnoortheen.nix-ide
|
|
];
|
|
};
|
|
|
|
programs.zsh = {
|
|
enable = true;
|
|
enableCompletion = false; # enabled in oh-my-zsh
|
|
autosuggestion.enable = true;
|
|
initExtra = ''
|
|
test -f ~/.dir_colors && eval $(dircolors ~/.dir_colors)
|
|
'';
|
|
shellAliases = {
|
|
ne = "nix-env";
|
|
ni = "nix-env -iA";
|
|
no = "nixops";
|
|
ns = "nix-shell --pure";
|
|
cat = "bat";
|
|
nra = "sudo nixos-rebuild switch --flake .#aurora --impure";
|
|
nif = "sudo nixos-rebuild switch --flake .#framework --impure";
|
|
};
|
|
oh-my-zsh = {
|
|
enable = true;
|
|
plugins = [ "git" "systemd" "rsync" "kubectl" "ansible" "battery" "colored-man-pages" "colorize" "common-aliases" "cp" "docker" "docker-compose" "docker-machine" "git-auto-fetch" "git-extras" "github" "git-prompt" "gnu-utils" "golang" "nmap" "postgres" "python" "rust" "ssh-agent" "sudo" "systemd" "ufw" "vscode" ];
|
|
theme = "terminalparty";
|
|
};
|
|
};
|
|
|
|
programs.lsd = {
|
|
enable = true;
|
|
enableAliases = true;
|
|
};
|
|
|
|
programs.bat.enable = true;
|
|
|
|
programs.firefox = {
|
|
enable = true;
|
|
package = pkgs.wrapFirefox pkgs.firefox-unwrapped {
|
|
extraPolicies = {
|
|
CaptivePortal = false;
|
|
DisableFirefoxStudies = true;
|
|
DisablePocket = true;
|
|
DisableTelemetry = true;
|
|
DisableFirefoxAccounts = false;
|
|
NoDefaultBookmarks = true;
|
|
OfferToSaveLogins = false;
|
|
OfferToSaveLoginsDefault = false;
|
|
PasswordManagerEnabled = false;
|
|
FirefoxHome = {
|
|
Search = true;
|
|
Pocket = false;
|
|
Snippets = false;
|
|
TopSites = false;
|
|
Highlights = false;
|
|
};
|
|
UserMessaging = {
|
|
ExtensionRecommendations = false;
|
|
SkipOnboarding = true;
|
|
};
|
|
};
|
|
};
|
|
profiles = {
|
|
jsutter = {
|
|
id = 0;
|
|
name = "jsutter";
|
|
settings = {
|
|
"general.smoothScroll" = true;
|
|
};
|
|
extraConfig = ''
|
|
user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);
|
|
user_pref("full-screen-api.ignore-widgets", true);
|
|
user_pref("media.ffmpeg.vaapi.enabled", true);
|
|
user_pref("media.rdd-vpx.enabled", true);
|
|
'';
|
|
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
|
|
ublock-origin
|
|
privacy-badger
|
|
bitwarden
|
|
clearurls
|
|
decentraleyes
|
|
ghostery
|
|
privacy-redirect
|
|
privacy-badger
|
|
disconnect
|
|
plasma-integration
|
|
];
|
|
userChrome = ''
|
|
@import "firefox-gnome-theme/userChrome.css";
|
|
@import "firefox-gnome-theme/theme/colors/dark.css";
|
|
'';
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|