nixos/users/jsutter.nix
Julian Sutter 62a812d718 minux jdk
2024-07-09 23:00:49 -07:00

202 lines
6 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";
# sha256 = "05msmzfa45l9sr9ngd2cfxw66kw0x76d68gp29v5ilrakf8nc90w";
};
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; [
tor-browser-bundle-bin
vlc
kleopatra
pinentry
arc-theme
zoom-us
slack
direnv
appimage-run
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";
'';
};
};
};
};
};
}