166 lines
4.9 KiB
Nix
166 lines
4.9 KiB
Nix
{config, pkgs, ...}:
|
||
{
|
||
home.username = "ulve";
|
||
home.homeDirectory = "/home/ulve";
|
||
programs.git = {
|
||
enable = true;
|
||
settings.user.name = "ulve";
|
||
settings.user.email = "johansson.olov@gmail.com";
|
||
delta.enable = true;
|
||
};
|
||
|
||
programs.eza = {
|
||
enable = true;
|
||
enableZshIntegration = true;
|
||
git = true;
|
||
icons = "auto";
|
||
};
|
||
|
||
programs.bat = {
|
||
enable = true;
|
||
};
|
||
home.stateVersion = "26.05";
|
||
programs.bash = {
|
||
enable = true;
|
||
shellAliases = {
|
||
n = "nvim";
|
||
rebuild = "sudo nixos-rebuild switch --flake ~/nixos-dotfiles";
|
||
};
|
||
};
|
||
|
||
programs.zoxide = {
|
||
enable = true;
|
||
enableZshIntegration = true;
|
||
options = [ "--cmd z" ];
|
||
};
|
||
|
||
programs.fzf = {
|
||
enable = true;
|
||
enableZshIntegration = true;
|
||
};
|
||
|
||
programs.zsh = {
|
||
enable = true;
|
||
shellAliases = {
|
||
n = "nvim";
|
||
rebuild = "sudo nixos-rebuild switch --flake ~/nixos-dotfiles";
|
||
};
|
||
initContent = ''
|
||
bindkey "^[[A" history-search-backward
|
||
bindkey "^[[B" history-search-forward
|
||
'';
|
||
};
|
||
|
||
programs.starship = {
|
||
enable = true;
|
||
enableZshIntegration = true;
|
||
settings = {
|
||
format = "$directory$git_branch$git_status$line_break$character";
|
||
right_format = "$time";
|
||
|
||
directory = {
|
||
truncation_length = 3;
|
||
truncate_to_repo = false;
|
||
style = "bold cyan";
|
||
};
|
||
|
||
git_branch = {
|
||
format = "[$symbol$branch]($style) ";
|
||
style = "bold purple";
|
||
};
|
||
|
||
git_status = {
|
||
format = "([\\[$all_status$ahead_behind\\]]($style) )";
|
||
style = "bold red";
|
||
ahead = "⇡$count";
|
||
behind = "⇣$count";
|
||
diverged = "⇕⇡$ahead_count⇣$behind_count";
|
||
modified = "!$count";
|
||
untracked = "?$count";
|
||
staged = "+$count";
|
||
deleted = "✘$count";
|
||
};
|
||
|
||
time = {
|
||
disabled = false;
|
||
format = "[$time]($style)";
|
||
style = "dimmed white";
|
||
time_format = "%H:%M:%S";
|
||
};
|
||
|
||
character = {
|
||
success_symbol = "[❯](bold green)";
|
||
error_symbol = "[❯](bold red)";
|
||
};
|
||
};
|
||
};
|
||
|
||
programs.ssh = {
|
||
enable = true;
|
||
enableDefaultConfig = false;
|
||
settings = {
|
||
"codeberg.org" = {
|
||
IdentityFile = "~/.ssh/id_ed25519_codeberg";
|
||
};
|
||
};
|
||
};
|
||
|
||
xdg.configFile."qtile".source = ./config/qtile;
|
||
xdg.configFile."nvim" = {
|
||
source = config.lib.file.mkOutOfStoreSymlink "/home/ulve/nixos-dotfiles/config/dottily";
|
||
};
|
||
xdg.configFile."sway".source = ./config/sway;
|
||
|
||
home.packages = with pkgs; [
|
||
claude-code # ai coding assistant
|
||
wl-clipboard # wayland copy utils
|
||
slurp # select region in wayland for copy
|
||
grim # grab images from wayland
|
||
brave # browser
|
||
fastfetch # vanity
|
||
wlogout # logout menu
|
||
foot # terminal
|
||
wmenu # dynamic menu
|
||
btop # resource monitor
|
||
htop # process viewer
|
||
tmux # terminal multiplexer
|
||
neovim # editor
|
||
fd # fast find alternative
|
||
ripgrep # fast grep alternative
|
||
gcc # c compiler (also needed by treesitter)
|
||
nodejs # javascript runtime
|
||
powershell # yes
|
||
teams-for-linux # teams
|
||
yazi # terminal file manager
|
||
thunar # gui file manager
|
||
|
||
tree-sitter # parser generator (nvim)
|
||
nil # language server for nix
|
||
nixpkgs-fmt # nix code formatter
|
||
lua-language-server # lsp: lua
|
||
pyright # lsp: python
|
||
bash-language-server # lsp: bash
|
||
vtsls # lsp: typescript/javascript
|
||
gopls # lsp: go
|
||
omnisharp-roslyn # lsp: c#
|
||
efm-langserver # lsp: general purpose (runs linters/formatters)
|
||
|
||
stylua # formatter: lua
|
||
lua54Packages.luacheck # linter: lua
|
||
black # formatter: python
|
||
python3Packages.flake8 # linter: python
|
||
prettierd # formatter: js/ts/html/css/json (daemon)
|
||
eslint_d # linter: js/ts (daemon)
|
||
fixjson # formatter: json
|
||
shellcheck # linter: bash/sh
|
||
shfmt # formatter: bash/sh
|
||
gofumpt # formatter: go (stricter gofmt)
|
||
go # go toolchain (needed by gopls + revive)
|
||
revive # linter: go
|
||
|
||
dotnet-sdk # .net sdk (c#)
|
||
jq # json processor
|
||
];
|
||
|
||
}
|