This commit is contained in:
2026-06-03 05:23:07 +02:00
commit a67da8c917
102 changed files with 9238 additions and 0 deletions
+133
View File
@@ -0,0 +1,133 @@
{config, pkgs, ...}:
{
home.username = "ulve";
home.homeDirectory = "/home/ulve";
programs.git = {
enable = true;
settings.user.name = "ulve";
settings.user.email = "johansson.olov@gmail.com";
};
home.stateVersion = "26.05";
programs.bash = {
enable = true;
shellAliases = {
n = "nvim";
};
};
programs.zsh = {
enable = true;
};
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
fzf # fuzzy search
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#)
];
}