nix/home/home.nix
2023-03-18 00:24:09 +11:00

404 lines
9 KiB
Nix
Executable file

{ pkgs, config, ... }:
let
# nix-rice = builtins.fetchGit {
# url = "https://github.com/bertof/nix-rice.git";
# rev = "ac810023c1bb3d999ab4295ea4eb261412f4b7c0";
# };
# nix-rice-overlay = import (nix-rice + "/overlay.nix");
# pkgs = import <nixpkgs> { overlays = [ nix-rice-overlay ]; };
# kitty_notest = pkgs.kitty.overridePythonAttrs (oldAttrs: { doCheck = false; checkPhase = ""; });
in
{
imports = [
# who are you?
./bolt.nix
# ./fossil.nix
# ./plank.nix
];
nixpkgs.config.packageOverrides = pkgs: {
nur = import (builtins.fetchTarball "https://github.com/nix-community/NUR/archive/master.tar.gz") {
inherit pkgs;
};
};
nixpkgs.config.allowUnfree = true;
nixpkgs.config.permittedInsecurePackages = [
"imagemagick-6.9.12-68"
];
home.packages = with pkgs; [
thunderbird
clementine
# inkscape
btop
bat
joshuto
ripgrep
fd
lazygit
fzf
# kdeconnect # maybe once i get an android
keepassxc
direnv
mpv
syncthing
zoxide
meslo-lgs-nf
# libreoffice-qt
libsForQt5.ark
libsForQt5.qtstyleplugin-kvantum
libsForQt5.bismuth
# hackneyed
gtk-engine-murrine
plasma-browser-integration
(callPackage ./homepkgs/git-credential-keepassxc.nix { })
(callPackage ./homepkgs/culr.nix { })
# (callPackage ./homepkgs/glpaper.nix { })
];
xdg.enable = true;
xdg.systemDirs.data = [ "${pkgs.hackneyed}/share" ];
programs.vscode = {
enable = true;
# enableExtensionUpdateCheck = false;
# enableUpdateCheck = false;
extensions = [];
mutableExtensionsDir = true;
};
xdg.desktopEntries = {
Code-url = {
name = "VsCode";
genericName = "Text Editor";
exec = "code --disable-gpu-sandbox --open-url %U";
icon = "code";
comment = "Code Editing. Redefined.";
categories = [ "Utility" "TextEditor" "Development" "IDE" ];
# keywords = [ "vscode" ];
mimeType = [ "x-scheme-handler/vscode" ];
noDisplay = true;
startupNotify = true;
type = "Application";
};
Code = {
categories = [ "Utility" "TextEditor" "Development" "IDE" ];
comment = "Code Editing. Redefined.";
exec = "code --disable-gpu-sandbox %F";
genericName = "Text Editor";
icon = "code";
# keywords = [ "vscode" ];
mimeType = [ "text/plain" "inode/directory" ];
name = "VsCode";
startupNotify = true;
# startupWMClass = "vsCode";
type = "Application";
};
};
programs.direnv = {
enable = true;
nix-direnv = {
enable = true;
};
};
gtk = {
enable = true;
theme = {
package = (pkgs.callPackage ./homepkgs/simplewaita-gtk.nix {});
name = "simplewaita";
};
};
programs.firefox =
{
package = pkgs.firefox.override {
cfg = {
enablePlasmaBrowserIntegration = true;
};
};
enable = true;
profiles.default = {
id = 0;
name = "Default";
settings = {
"browser.startup.homepage" = "about:blank";
};
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
vimium-c
darkreader
localcdn
ublock-origin
# bypass-paywalls-clean
# sidebery
plasma-integration
keepassxc-browser
user-agent-string-switcher
# happy-bonobo-disable-webrtc
];
};
};
services.syncthing = {
enable = true;
};
services.kdeconnect = {
enable = true;
indicator = true;
};
programs.kitty = {
enable = true;
# package = kitty_notest;
font = {
name = "Ellograph CF";
size = 10;
};
settings = {
foreground = "#d3dae3";
background = "#060604";
cursor = "#d3dae3";
selection_foreground = "#fdbc4b";
selection_background = "#1e2233";
color0 = "#2f343f";
color1 = "#ed244e";
color2 = "#27ae60";
color3 = "#f67400";
color4 = "#2980b9";
color5 = "#c50ed2";
color6 = "#3daee9";
color7 = "#a1a9b1";
color8 = "#1e2233";
color9 = "#da4453";
color10 = "#71f79f";
color11 = "#fdbc4b";
color12 = "#1d99f3";
color13 = "#9b59b6";
color14 = "#5294e2";
color15 = "#656a73";
};
};
programs.git = {
enable = true;
userName = "atagen";
userEmail = "atagen@boss.co";
extraConfig = {
credential.helper = "keepassxc";
};
};
programs.zoxide = {
enable = true;
enableZshIntegration = true;
};
programs.fzf = {
enable = true;
enableZshIntegration = true;
# colors = {
# fg = "#d3dae3";
# "fg+" = "#d3dae3";
# bg = "#060604";
# "bg+" = "#060604";
# preview-fg = "#fdbc4b";
# preview-bg = "#1e2233";
# hl = "#da4453";
# "hl+" = "#ed244e";
# info = "#fdbc4b";
# border = "#656a73";
# prompt = "#c50ed2";
# pointer = "#27ae60";
# header = "#da4453";
# };
};
programs.zsh = {
enable = true;
enableAutosuggestions = true;
enableCompletion = true;
enableSyntaxHighlighting = true;
enableVteIntegration = true;
autocd = true;
defaultKeymap = "viins";
initExtra = "
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
la_culr()
{
ls -lha --group-directories-first --color $@ | culr
}
ls_culr()
{
ls -lh --group-directories-first --color $@ | culr
}
ps_culr()
{
ps ww$@ | culr
}
alias ...=\"cd ../..\"
alias ....=\"cd ../../..\"
alias .....=\"cd ../../../..\"
alias fresh=\"clear; echo; ~/.nix/header.sh\"
alias icat=\"kitty +kitten icat\"
alias chmox=\"chmod +x\"
alias gs=\"git status\"
alias gcl=\"git clone\"
alias ga=\"git add\"
alias gcb=\"git checkout -b\"
alias gco=\"git checkout\"
alias gl=\"git pull\"
alias gp=\"git push\"
alias gd=\"git diff\"
alias gcam=\"git commit -am\"
alias gcm=\"git commit -m\"
alias gr=\"git restore\"
alias gm=\"git merge\"
alias l=\"ls_culr\"
alias la=\"la_culr\"
alias p=\"ps_culr\"
alias mnt=\"mount | column -t | culr\"
alias kaboom=\"printf 'type any input if you wish to update\n\npress enter to continue\n'; read upgrade; if [ -n \\\"\\\$upgrade\\\" ]; then echo upgrading..; sudo nix-channel --update; else echo no upgrade!; fi; sudo nixos-rebuild switch -j9 && rm ~/.gtkrc-2.0; home-manager switch && sudo nix-collect-garbage && nix-store --optimise\"
fresh
";
plugins = [
{
name = "powerlevel10k";
src = pkgs.zsh-powerlevel10k;
file = "share/zsh-powerlevel10k/powerlevel10k.zsh-theme";
}
{
name = "zsh-vi-mode";
src = pkgs.zsh-vi-mode;
file = "share/zsh-vi-mode/zsh-vi-mode.zsh";
}
{
name = "zsh-autopair";
src = pkgs.zsh-autopair;
file = "share/zsh-autopair/zsh-autopair.zsh";
}
{
name = "zsh-completions";
src = pkgs.zsh-completions;
file = "share/zsh-completions/zsh-completions.zsh";
}
{
name = "zsh-command-time";
src = pkgs.zsh-command-time;
file = "share/zsh-completions/zsh-command-time.zsh";
}
# {
# name = "zsh-you-should-use";
# src = pkgs.zsh-you-should-use;
# # file = "share/zsh-completions/zsh-you-should-use.zsh";
# }
{
name = "zsh-autocomplete";
src = pkgs.zsh-autocomplete;
file = "share/zsh-autocomplete/zsh-autocomplete.zsh";
}
{
name = "zsh-fast-syntax-highlighting";
src = pkgs.zsh-fast-syntax-highlighting;
file = "share/zsh-fast-syntax-highlighting/zsh-fast-syntax-highlighting.zsh";
}
{
name = "zsh-nix-shell";
src = pkgs.zsh-nix-shell;
file = "share/zsh-nix-shell/zsh-nix-shell.zsh";
}
{
name = "any-nix-shell";
src = pkgs.any-nix-shell;
file = "share/any-nix-shell/any-nix-shell.zsh";
}
{
name = "nix-zsh-completions";
src = pkgs.nix-zsh-completions;
file = "share/nix-zsh-completions/nix-zsh-completions.zsh";
}
# {
# name = "zsh-fzf-tab";
# src = pkgs.zsh-fzf-tab;
# # file = "share/zsh-fzf-tab/zsh-fzf-tab.zsh";
# }
];
};
xresources.extraConfig = "
! special
*.foreground: #d3dae3
*.background: #181b28
*.cursorColor: #d3dae3
! black
*.color0: #2f343f
*.color8: #1e2233
! red
*.color1: #ed244e
*.color9: #da4453
! green
*.color2: #27ae60
*.color10: #71f79f
! yellow
*.color3: #f67400
*.color11: #fdbc4b
! blue
*.color4: #2980b9
*.color12: #1d99f3
! magenta
*.color5: #c50ed2
*.color13: #9b59b6
! cyan
*.color6: #3daee9
*.color14: #5294e2
! white
*.color7: #a1a9b1
*.color15: #656a73";
programs.helix.enable = true;
programs.helix.settings = {
theme = "bogster";
editor.lsp.display-messages = true;
editor.auto-pairs = false;
editor.indent-guides.render = true;
};
home.sessionVariables = {
GTK_THEME = "simplewaita";
};
home.stateVersion = "22.11";
programs.home-manager.enable = true;
}