nixos-config/users/speccon18/home.nix
2023-04-15 02:56:27 -04:00

320 lines
9.3 KiB
Nix

{ pkgs, config, lib, ... }:
{
home = {
username = "speccon18";
homeDirectory = "/home/speccon18";
stateVersion = "22.11";
packages = with pkgs; [
freecad
prismlauncher
calibre
w3m
nushell
bitwarden
firefox
discord
nodejs-18_x
spotify
nerdfonts
fira-code
libreoffice
asciinema
postman
gimp
obsidian
neofetch
vlc
zellij
zoxide
remmina
signal-desktop
starship
alacritty
ncspot
bacon
bottom
xplr
broot
];
};
programs = {
zoxide = {
enable = true;
enableZshIntegration = lib.mkDefault true;
# enableNushellIntegration = false;
};
ncspot = {
enable = true;
package = pkgs.ncspot;
};
alacritty = {
enable = true;
settings = {
window = {
dimensions = {
columns = 120;
lines = 25;
};
decorations = "none";
opacity = 0.8;
title = "Alacritty";
};
font = {
normal = {
family = "SauceCodePro Nerd Font";
};
bold = {
family = "SauceCodePro Nerd Font";
style = "bold";
};
size = 12;
};
colors = {
primary = {
background = "#1d1f21";
foreground = "#c5c8c6";
};
cursor = {
text = "CellBackground";
cursor = "CellForeground";
};
# Normal colors
normal = {
black = "#363537";
red = "#FC618D";
green = "#7BD88F";
yellow = "#FCE566";
blue = "#FD9353";
magenta = "#948AE3";
cyan = "#5AD4E6";
white = "#F7F1FF";
};
# Bright colors
bright = {
black = "#69676C";
red = "#FC618D";
green = "#7BD88F";
yellow = "#FCE566";
blue = "#FD9353";
magenta = "#948AE3";
cyan = "#5AD4E6";
white = "#F7F1FF";
};
};
};
};
zellij = {
enable = true;
package = pkgs.zellij;
};
nushell = {
enable = false;
};
starship = {
enable = true;
enableZshIntegration = true;
enableNushellIntegration = false;
};
zsh = {
enable = lib.mkDefault true;
dotDir = ".config/zsh";
history = {
path = "$ZDOTDIR/.zsh_history";
save = 10000000;
};
enableAutosuggestions = lib.mkDefault true;
enableCompletion = lib.mkDefault true;
enableSyntaxHighlighting = lib.mkDefault true;
shellAliases = {
ls = "exa -l";
lsa = "exa -al";
cd = "z";
osrb = "sudo nixos-rebuild $1 --flake ~/code/nix/nixos-config/#creatorforge-framework";
zel = "zellij -s";
ns = "nix-shell";
top = "btm";
hx = "hx";
cat = "bat";
extract = "~/.config/zsh/extract.sh";
};
localVariables = {
EDITOR="hx";
};
};
direnv = {
enable = true;
enableZshIntegration = lib.mkDefault true;
};
home-manager = {
enable = true;
};
vscode = {
enable = true;
package = pkgs.vscode.fhs;
enableExtensionUpdateCheck = true;
enableUpdateCheck = false;
extensions = with pkgs.vscode-extensions; [
bbenoist.nix
redhat.vscode-yaml
bungcip.better-toml
firefox-devtools.vscode-firefox-debug
ms-vscode-remote.remote-ssh
ms-azuretools.vscode-docker
editorconfig.editorconfig
dbaeumer.vscode-eslint
donjayamanne.githistory
github.copilot
eamodio.gitlens
graphql.vscode-graphql
oderwat.indent-rainbow
skellock.just
jnoortheen.nix-ide
christian-kohler.path-intellisense
esbenp.prettier-vscode
svelte.svelte-vscode
bradlc.vscode-tailwindcss
thenuprojectcontributors.vscode-nushell-lang
matklad.rust-analyzer
];
userSettings = {
"workbench.colorTheme" = "Monokai Pro (Filter Octagon)";
"workbench.startupEditor" = "none";
"workbench.iconTheme" = "Monokai Pro Icons";
"git.autofetch" = true;
"redhat.telemetry.enabled" = false;
"svelte.enable-ts-plugin" = true;
"window.menuBarVisibility" = "compact";
"prettier.singleQuote" = true;
"prettier.useTabs" = true;
"prettier.bracketSpacing" = false;
"prettier.htmlWhitespaceSensitivity" = "strict";
"typescript.updateImportsOnFileMove.enabled" = "always";
"editor.fontFamily" = "OpenDyslexic, OpenDyslexic Mono NF";
"rust-analyzer.inlayHints.chainingHints.enable" = false;
"rust-analyzer.inlayHints.closingBraceHints.enable" = false;
"rust-analyzer.inlayHints.renderColons" = false;
"rust-analyzer.inlayHints.parameterHints.enable" = false;
"editor.minimap.enabled" = false;
"editor.inlineSuggest.enabled" = true;
"window.zoomLevel" = 1;
};
};
helix = {
enable = true;
settings = {
editor.line-number = "relative";
editor.shell = ["zsh" "-c"];
};
themes = {
monokai_pro_octagon.toml = let
red = "#ff657a";
orange = "#ff9b5e";
yellow = "#ffd76d";
green = "#bad761";
blue = "#9cd1bb";
purple = "#c39ac9";
base0 = "#161821";
base1 = "#1e1f2b";
base2 = "#282a3a";
base3 = "#3a3d4b";
base4 = "#535763";
base5 = "#696d77";
base6 = "#767b81";
base7 = "#b2b9bd";
base8 = "#eaf2f1";
base8x0c = "#303342";
in {
"ui.linenr.selected" = { bg = base3; };
"ui.text.focus" = { fg = yellow; modifiers = ["bold"]; };
"ui.menu" = { fg = base8; bg = base3; };
"ui.menu.selected" = { fg = base2; bg = yellow; };
"ui.virtual.whitespace" = base5;
"ui.virtual.ruler" = { bg = base1; };
"info" = base8;
"hint" = base8;
"ui.background" = { bg = base2; };
"ui.statusline.inactive" = { fg = base8; bg = base8x0c; };
"ui.statusline" = { fg = base8; bg = base4; };
"ui.statusline.normal" = { fg = base4; bg = blue; };
"ui.statusline.insert" = { fg = base4; bg = green; };
"ui.statusline.select" = { fg = base4; bg = purple; };
"ui.popup" = { bg = base3; };
"ui.window" = { bg = base3; };
"ui.help" = { fg = base8; bg = base3; };
"ui.selection" = { bg = base4; };
"ui.cursor.match" = { bg = base4; };
"ui.cursorline" = { bg = base1; };
"comment" = { fg = base5; modifiers = ["italic"]; };
"ui.linenr" = { fg = base5; };
"ui.cursor.primary" = { fg = base7; modifiers = ["reversed"]; };
"attribute" = blue;
"variable" = base8;
"constant" = orange;
"variable.builtin" = red;
"constant.builtin" = red;
"namespace" = base8;
"ui.text" = { fg = base8; };
"punctuation" = base6;
"type" = green;
"type.builtin" = { fg = red; };
"label" = base8;
"constructor" = blue;
"function" = green;
"function.macro" = { fg = blue; };
"function.builtin" = { fg = "cyan"; };
"operator" = red;
"variable.other.member" = base8;
"keyword" = { fg = red; };
"keyword.directive" = blue;
"variable.parameter" = "#f59762";
"error" = red;
"special" = "#f59762";
"module" = "#f59762";
"warning" = "orange";
"constant.character.escape" = { fg = base8; };
"string" = yellow;
"constant.numeric" = purple;
"diff.plus" = green;
"diff.delta" = "orange";
"diff.minus" = red;
"diagnostic.warning" = { underline = { color = "orange"; style = "curl"; }; };
"diagnostic.error" = { underline = { color = red; style = "curl"; }; };
"diagnostic.info" = { underline = { color = base8; style = "curl"; }; };
"diagnostic.hint" = { underline = { color = base8; style = "curl"; }; };
"markup.heading" = green;
"markup.bold" = { fg = "orange"; modifiers = ["bold"]; };
"markup.italic" = { fg = "orange"; modifiers = ["italic"]; };
"markup.strikethrough" = { modifiers = ["crossed_out"]; };
"markup.link.url" = { fg = "orange"; modifiers = ["underlined"]; };
"markup.link.text" = yellow;
"markup.quote" = green;
};
};
};
git = {
enable = true;
userName = "specCon18";
userEmail = "steven.carpenter@skdevstudios.com";
extraConfig = {
init = {
defaultBranch = "main";
};
};
};
};
dconf = {
enable = true;
settings = {
"org/gnome/mutter" = {
attach-modal-dialogs = true;
dynamic-workspaces = true;
edge-tiling = false;
experimental-features = [ "scale-monitor-framebuffer" ];
focus-change-on-pointer-rest = true;
workspaces-only-on-primary = true;
};
};
};
}