mirror of
https://github.com/nmasur/dotfiles
synced 2024-11-10 08:42:55 +00:00
158 lines
3.3 KiB
Nix
158 lines
3.3 KiB
Nix
{ pkgs, lib, ... }:
|
|
|
|
let
|
|
|
|
name = "Noah Masur";
|
|
editor = "nvim";
|
|
font = "Victor Mono";
|
|
dotfiles = builtins.toString ../.;
|
|
nixos_config = builtins.toString ./.;
|
|
notes_path = "$HOME/dev/personal/notes";
|
|
|
|
ignore_patterns = ''
|
|
!.env*
|
|
!.github/
|
|
!.gitignore
|
|
!*.tfvars
|
|
.terraform/
|
|
.target/
|
|
/Library/
|
|
keybase/
|
|
kbfs/
|
|
'';
|
|
|
|
in {
|
|
options = with lib; {
|
|
user = mkOption { default = "noah"; };
|
|
font = mkOption { default = font; };
|
|
nixos_config = mkOption { default = nixos_config; };
|
|
dotfiles = mkOption { default = dotfiles; };
|
|
};
|
|
|
|
config = {
|
|
nixpkgs.config.allowUnfree = true;
|
|
|
|
home.packages = with pkgs; [
|
|
# Applications
|
|
neovim
|
|
_1password-gui
|
|
discord
|
|
# neomutt
|
|
himalaya # Email
|
|
mpv # Video viewer
|
|
sxiv # Image viewer
|
|
zathura # PDF viewer
|
|
qbittorrent
|
|
|
|
# Utilities
|
|
unzip
|
|
gcc # for tree-sitter
|
|
starship
|
|
rsync
|
|
fzf
|
|
ripgrep
|
|
bat
|
|
fd
|
|
exa
|
|
sd
|
|
zoxide
|
|
jq
|
|
tealdeer
|
|
gh
|
|
direnv
|
|
tree
|
|
htop
|
|
glow
|
|
|
|
# Encryption
|
|
gnupg
|
|
pass
|
|
];
|
|
|
|
gtk.enable = true;
|
|
gtk.theme = { name = "Adwaita-dark"; };
|
|
|
|
home.sessionVariables = {
|
|
fish_greeting = "";
|
|
EDITOR = "${editor}";
|
|
NIXOS_CONFIG = "${nixos_config}";
|
|
DOTS = "${dotfiles}";
|
|
NOTES_PATH = "${notes_path}";
|
|
};
|
|
|
|
programs.starship = {
|
|
enable = true;
|
|
enableFishIntegration = true;
|
|
};
|
|
|
|
programs.fzf = {
|
|
enable = true;
|
|
enableFishIntegration = true;
|
|
};
|
|
|
|
programs.zoxide = {
|
|
enable = true;
|
|
enableFishIntegration = true;
|
|
};
|
|
|
|
# Other configs
|
|
xdg.configFile = {
|
|
"starship.toml".source = ../starship/starship.toml.configlink;
|
|
"nvim/init.lua".source = ../nvim.configlink/init.lua;
|
|
"fish/functions".source = ../fish.configlink/functions;
|
|
"awesome/rc.lua".source = ./awesomerc.lua;
|
|
"qtile/config.py".source = ./qtile.py;
|
|
"direnvrc".text = "source $HOME/.nix-profile/share/nix-direnv/direnvrc";
|
|
"spectrwm/spectrwm.conf".source = ./spectrwm.conf;
|
|
};
|
|
home.file = {
|
|
".rgignore".text = ignore_patterns;
|
|
".fdignore".text = ignore_patterns;
|
|
};
|
|
|
|
programs.direnv = {
|
|
enable = true;
|
|
nix-direnv.enable = true;
|
|
config = { whitelist = { prefix = [ "${dotfiles}/" ]; }; };
|
|
};
|
|
|
|
programs.git = {
|
|
enable = true;
|
|
userName = "${name}";
|
|
userEmail = "7386960+nmasur@users.noreply.github.com";
|
|
extraConfig = {
|
|
core = { editor = "nvim"; };
|
|
pager = { branch = "false"; };
|
|
safe = { directory = "${dotfiles}"; };
|
|
};
|
|
};
|
|
|
|
programs.gh = {
|
|
enable = true;
|
|
enableGitCredentialHelper = true;
|
|
settings.git_protocol = "https";
|
|
};
|
|
|
|
# Email
|
|
# programs.himalaya = {
|
|
# enable = true;
|
|
# settings = {
|
|
# name = "${name}";
|
|
# downloads-dir = "~/Downloads";
|
|
# home = {
|
|
# default = true;
|
|
# email = "censored";
|
|
# imap-host = "censored";
|
|
# imap-port = 993;
|
|
# imap-login = "censored";
|
|
# imap-passwd-cmd = "cat ~/.config/himalaya/passwd";
|
|
# smtp-host = "censored";
|
|
# smtp-port = 587;
|
|
# smtp-login = "censored";
|
|
# smtp-passwd-cmd = "cat ~/.config/himalaya/passwd";
|
|
# };
|
|
# };
|
|
# };
|
|
};
|
|
}
|