almost usable
This commit is contained in:
@@ -1,25 +1,11 @@
|
||||
{config, pkgs, ...}:
|
||||
{
|
||||
# ── Identity ────────────────────────────────────────────────────────────────
|
||||
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";
|
||||
|
||||
# ── Shell ───────────────────────────────────────────────────────────────────
|
||||
programs.bash = {
|
||||
enable = true;
|
||||
shellAliases = {
|
||||
@@ -28,26 +14,36 @@
|
||||
};
|
||||
};
|
||||
|
||||
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";
|
||||
tree = "eza --tree --level=2";
|
||||
};
|
||||
history = {
|
||||
size = 10000;
|
||||
save = 10000;
|
||||
ignoreDups = true;
|
||||
share = true;
|
||||
extended = true;
|
||||
};
|
||||
initContent = ''
|
||||
bindkey "^[[A" history-search-backward
|
||||
bindkey "^[[B" history-search-forward
|
||||
autoload -Uz up-line-or-beginning-search down-line-or-beginning-search
|
||||
zle -N up-line-or-beginning-search
|
||||
zle -N down-line-or-beginning-search
|
||||
bindkey "^[[A" up-line-or-beginning-search
|
||||
bindkey "^[[B" down-line-or-beginning-search
|
||||
bindkey "^[OA" up-line-or-beginning-search
|
||||
bindkey "^[OB" down-line-or-beginning-search
|
||||
|
||||
function y() {
|
||||
local tmp="$(mktemp -t "yazi-cwd.XXXXXX")" cwd
|
||||
command yazi "$@" --cwd-file="$tmp"
|
||||
IFS= read -r -d "" cwd < "$tmp"
|
||||
[ -n "$cwd" ] && [ "$cwd" != "$PWD" ] && builtin cd -- "$cwd"
|
||||
rm -f -- "$tmp"
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
||||
@@ -95,6 +91,46 @@
|
||||
};
|
||||
};
|
||||
|
||||
# ── CLI tools ────────────────────────────────────────────────────────────────
|
||||
programs.fzf = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
};
|
||||
|
||||
programs.zoxide = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
options = [ "--cmd z" ];
|
||||
};
|
||||
|
||||
programs.eza = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
git = true;
|
||||
icons = "auto";
|
||||
};
|
||||
|
||||
programs.bat = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
home.sessionVariables = {
|
||||
_ZO_FZF_OPTS = "--preview 'eza --tree --level=2 --color=always {2..}' --preview-window=right:40%";
|
||||
};
|
||||
|
||||
# ── Git ─────────────────────────────────────────────────────────────────────
|
||||
programs.git = {
|
||||
enable = true;
|
||||
settings.user.name = "ulve";
|
||||
settings.user.email = "johansson.olov@gmail.com";
|
||||
};
|
||||
|
||||
programs.delta = {
|
||||
enable = true;
|
||||
enableGitIntegration = true;
|
||||
};
|
||||
|
||||
# ── SSH ─────────────────────────────────────────────────────────────────────
|
||||
programs.ssh = {
|
||||
enable = true;
|
||||
enableDefaultConfig = false;
|
||||
@@ -105,38 +141,62 @@
|
||||
};
|
||||
};
|
||||
|
||||
# ── Config files ─────────────────────────────────────────────────────────────
|
||||
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;
|
||||
xdg.configFile."waybar".source = ./config/waybar;
|
||||
xdg.configFile."foot".source = ./config/foot;
|
||||
|
||||
# ── Packages ─────────────────────────────────────────────────────────────────
|
||||
home.packages = with pkgs; [
|
||||
# general
|
||||
claude-code # ai coding assistant
|
||||
brave # browser
|
||||
fastfetch # vanity
|
||||
jq # json processor
|
||||
powershell # yes
|
||||
teams-for-linux # teams
|
||||
|
||||
# desktop / wayland
|
||||
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
|
||||
swaylock # lock screen
|
||||
swayidle # idle management (dims/locks/sleeps)
|
||||
waybar # status bar with left/center/right sections
|
||||
|
||||
telegram-desktop # Messaging
|
||||
signal-desktop # Messaging
|
||||
|
||||
# terminal
|
||||
foot # terminal
|
||||
tmux # terminal multiplexer
|
||||
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
|
||||
|
||||
# file managers
|
||||
yazi # terminal file manager
|
||||
thunar # gui file manager
|
||||
|
||||
# editors
|
||||
neovim # editor
|
||||
|
||||
# compilers / runtimes
|
||||
gcc # c compiler (also needed by treesitter)
|
||||
nodejs # javascript runtime
|
||||
go # go toolchain (needed by gopls + revive)
|
||||
dotnet-sdk # .net sdk (c#)
|
||||
|
||||
# nvim: lsp servers
|
||||
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
|
||||
@@ -145,21 +205,18 @@
|
||||
omnisharp-roslyn # lsp: c#
|
||||
efm-langserver # lsp: general purpose (runs linters/formatters)
|
||||
|
||||
# nvim: formatters and linters
|
||||
nixpkgs-fmt # formatter: nix
|
||||
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)
|
||||
shfmt # formatter: bash/sh
|
||||
lua54Packages.luacheck # linter: lua
|
||||
python3Packages.flake8 # linter: python
|
||||
eslint_d # linter: js/ts (daemon)
|
||||
shellcheck # linter: bash/sh
|
||||
revive # linter: go
|
||||
|
||||
dotnet-sdk # .net sdk (c#)
|
||||
jq # json processor
|
||||
];
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user