From 7127578fc736434a9e3aca45afe0901ccf1f7303 Mon Sep 17 00:00:00 2001 From: Niccolo Borgioli Date: Mon, 2 Jun 2025 11:49:33 +0200 Subject: [PATCH] update nix cli --- README.md | 2 +- files/omp/config.yaml | 160 ------------------------------------------ flake.nix | 15 ++-- home.nix | 124 ++++++++++++++++---------------- 4 files changed, 69 insertions(+), 232 deletions(-) delete mode 100644 files/omp/config.yaml diff --git a/README.md b/README.md index dea5335..514095c 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Nix setup for server ```bash # First time install -curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install --determinate +curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install # Install / Update nix run home-manager -- switch --flake github:cupcakearmy/nix-cli#root -b bkp diff --git a/files/omp/config.yaml b/files/omp/config.yaml deleted file mode 100644 index 41000f6..0000000 --- a/files/omp/config.yaml +++ /dev/null @@ -1,160 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json - -palette: - error-0: '#ff4040' - error-10: '#e23629' - error-15: '#d33220' - error-20: '#c52e18' - error-30: '#a8280d' - error-40: '#8a2106' - error-5: '#f03a34' - error-50: '#6d1b02' - error-60: '#501401' - error-70: '#330d00' - main-0: '#f7fbff' - main-10: '#b4cafd' - main-15: '#95a9fc' - main-20: '#7783fa' - main-30: '#5348f4' - main-40: '#4826e8' - main-5: '#d6e6fe' - main-50: '#3e10ca' - main-60: '#22036e' - main-70: '#020008' - success-0: '#40ff46' - success-10: '#29e243' - success-15: '#20d342' - success-20: '#18c541' - success-30: '#0da83d' - success-40: '#068a36' - success-5: '#34f044' - success-50: '#026d2d' - success-60: '#015022' - success-70: '#003316' - warning-0: '#ffff40' - warning-10: '#dae229' - warning-15: '#c8d320' - warning-20: '#b6c518' - warning-30: '#96a80d' - warning-40: '#788a06' - warning-5: '#ecf034' - warning-50: '#5d6d02' - warning-60: '#435001' - warning-70: '#2a3300' -blocks: - - type: prompt - alignment: left - segments: - - leading_diamond:  - foreground: p:main-70 - background: p:main-5 - type: os - style: diamond - - properties: - style: full - template: " \uf0e7 " - foreground: p:main-70 - powerline_symbol:  - background: p:error-15 - type: root - style: powerline - - properties: - style: full - template: ' {{ .Path }} ' - foreground: p:main-0 - powerline_symbol:  - background: p:main-40 - type: path - style: powerline - - template: ' {{ .HEAD }} ' - foreground: p:main-70 - powerline_symbol:  - background: p:warning-10 - type: git - style: powerline - - type: prompt - alignment: right - segments: - - leading_diamond:  - trailing_diamond:  - foreground: p:main-70 - background: p:main-10 - type: python - style: dynamic - - leading_diamond:  - trailing_diamond:  - foreground: p:main-70 - background: p:main-10 - type: go - style: dynamic - - leading_diamond:  - trailing_diamond:  - foreground: p:main-70 - background: p:main-10 - type: node - style: dynamic - - leading_diamond:  - trailing_diamond:  - template: '{{ .Context }}{{ if .Namespace }}::{{ .Namespace }}{{ end }}' - foreground: p:main-70 - background: p:main-10 - type: kubectl - style: dynamic - - leading_diamond:  - trailing_diamond:  - template: '{{ .Icon }} {{ .Server }}' - foreground: p:main-70 - background: p:main-10 - type: docker - style: dynamic - - leading_diamond:  - trailing_diamond:  - foreground: p:main-70 - background: p:main-10 - type: rust - style: dynamic - - leading_diamond:  - trailing_diamond:  - foreground: p:main-70 - background: p:main-10 - type: battery - style: dynamic - - properties: - always_enabled: true - leading_diamond:  - template: "{{ if gt .Code 0 }}\uf00d {{ .Code }} {{ .Meaning }}{{ else }}\uf42e{{ end }}" - foreground: p:main-70 - type: status - style: diamond - background_templates: - - '{{ if gt .Code 0 }}p:error-0{{ else }}p:main-10{{ end }}' - - properties: - always_enabled: true - style: round - foreground: p:main-70 - powerline_symbol:  - background: p:main-5 - type: executiontime - style: powerline - - properties: - time_format: '15:04:05' - template: ' {{ .CurrentDate | date .Format }} ' - foreground: p:main-70 - powerline_symbol:  - background: p:main-0 - type: time - style: powerline - - type: prompt - alignment: left - segments: - - properties: - always_enabled: true - template: '❯ ' - foreground: p:main-15 - type: status - style: plain - foreground_templates: - - '{{ if gt .Code 0 }}p:error-15{{ end }}' - newline: true -version: 3 - diff --git a/flake.nix b/flake.nix index 3dbc25a..b390b1d 100644 --- a/flake.nix +++ b/flake.nix @@ -1,8 +1,7 @@ { - description = "Home Manager configuration of root"; + description = "nix base CLI env"; inputs = { - # Specify the source of Home Manager and Nixpkgs. nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; home-manager = { url = "github:nix-community/home-manager"; @@ -10,20 +9,16 @@ }; }; - outputs = { nixpkgs, home-manager, ... }: + outputs = + { nixpkgs, home-manager, ... }: let system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; - in { + in + { homeConfigurations."root" = home-manager.lib.homeManagerConfiguration { inherit pkgs; - - # Specify your home configuration modules here, for example, - # the path to your home.nix. modules = [ ./home.nix ]; - - # Optionally use extraSpecialArgs - # to pass through arguments to home.nix }; }; } diff --git a/home.nix b/home.nix index 33e3bae..c9df7c7 100644 --- a/home.nix +++ b/home.nix @@ -1,76 +1,78 @@ { config, pkgs, ... }: { - home.username = "root"; - home.homeDirectory = "/root"; - # - # You should not change this value, even if you update Home Manager. If you do - # want to update the value, then make sure to first check the Home Manager - # release notes. - home.stateVersion = "24.05"; # Please read the comment before changing. + home = { + username = "root"; + homeDirectory = "/root"; + stateVersion = "25.05"; # Please read the comment before changing. - home.packages = [ - pkgs.neovim - pkgs.tmux - pkgs.oh-my-posh + packages = with pkgs; [ + neovim + tmux - pkgs.git - pkgs.gnutar - pkgs.btop + git + gnutar + btop - pkgs.rclone + # Rust utils + bat + eza + fd + ripgrep + ripgrep-all + zoxide + uutils-coreutils-noprefix + dust + yazi + starship + rclone - pkgs.nerd-fonts.jetbrains-mono + nerd-fonts.jetbrains-mono - ]; + ]; - home.file = { - ".config/omp/config.yaml".source = ./files/omp/config.yaml; + sessionVariables = { + EDITOR = "nvim"; + }; + + shellAliases = { + l = "eza -a1lh"; + ls = "eza"; + dc = "docker compose"; + rsync = "rsync -az --info=progress2"; + t = "tmux new-session -A -s main"; + e = "nvim"; + g = "lazygit"; + d = "lazydocker"; + vai = "home-manager switch --flake ~/nix#root -b backup"; + }; }; - home.sessionVariables = { - EDITOR = "nvim"; - }; + programs = { + home-manager.enable = true; + starship.enable = true; + bash.enable = true; + fish.enable = true; + tmux = { + enable = true; + clock24 = true; + mouse = true; + extraConfig = '' + # switch panes using Alt-arrow without prefix + bind -n M-Left select-pane -L + bind -n M-Right select-pane -R + bind -n M-Up select-pane -U + bind -n M-Down select-pane -D - programs.home-manager.enable = true; - - home.shellAliases = { - l = "ls -hal"; - dc = "docker compose"; - rsync = "rsync -az --info=progress2"; - t = "tmux new-session -A -s main"; - e = "nvim"; - hms = "home-manager switch --flake ~/nix#root -b backup"; - }; - - programs.fish = { - enable = true; - shellInit = '' - oh-my-posh init fish --config ~/.config/omp/config.yaml | source - ''; - }; - programs.bash = { - enable = true; - }; - programs.tmux = { - enable = true; - clock24 = true; - mouse = true; - extraConfig = '' - # switch panes using Alt-arrow without prefix - bind -n M-Left select-pane -L - bind -n M-Right select-pane -R - bind -n M-Up select-pane -U - bind -n M-Down select-pane -D - - # switch panes using jkhl - bind h select-pane -L - bind l select-pane -R - bind j select-pane -U - bind k select-pane -D - ''; - shell = "${pkgs.fish}/bin/fish"; - terminal = "tmux-256color"; + # switch panes using jkhl + bind h select-pane -L + bind l select-pane -R + bind j select-pane -U + bind k select-pane -D + ''; + shell = "${pkgs.fish}/bin/fish"; + terminal = "tmux-256color"; + }; }; }