diff --git a/configuration.nix b/configuration.nix index 7ab22ea..b348866 100644 --- a/configuration.nix +++ b/configuration.nix @@ -49,12 +49,32 @@ systemPackages = with pkgs; [ vim # Nix - nh alejandra + nh + alejandra # system utils - firmware-updater mtr gnupg ddate testdisk tree wget btop dysk plocate - traceroute rlwrap entr + firmware-updater + mtr + gnupg + ddate + testdisk + tree + wget + btop + dysk + plocate + traceroute + rlwrap + entr # extra utils - fd bat xh tlrc dust hyperfine ripgrep fzf eza + fd + bat + xh + tlrc + dust + hyperfine + ripgrep + fzf + eza ]; shellAliases = { l = "eza --long --all"; @@ -66,7 +86,10 @@ programs = { fish.enable = true; starship.enable = true; - atuin = { enable = true; settings.sync_address = "https://api.atuin.sh"; }; + atuin = { + enable = true; + settings.sync_address = "https://api.atuin.sh"; + }; nix-ld = { enable = true; libraries = with pkgs; [ @@ -97,11 +120,20 @@ fonts = { packages = with pkgs; [ # GUI fonts - inter corefonts vista-fonts roboto cantarell-fonts + inter + corefonts + vista-fonts + roboto + cantarell-fonts # fonts for i18n - noto-fonts noto-fonts-cjk-sans noto-fonts-cjk-serif - noto-fonts-color-emoji noto-fonts-monochrome-emoji - unifont unifont_upper unifont-csur + noto-fonts + noto-fonts-cjk-sans + noto-fonts-cjk-serif + noto-fonts-color-emoji + noto-fonts-monochrome-emoji + unifont + unifont_upper + unifont-csur # terminal fonts nerd-fonts.iosevka ]; diff --git a/flake.nix b/flake.nix index 3e4d7d6..e43a4f3 100644 --- a/flake.nix +++ b/flake.nix @@ -2,27 +2,21 @@ description = "asnev's NixOS configuration"; inputs = { - nixpkgs = { - url = "github:nixos/nixpkgs/nixos-26.05"; - }; - nixpkgs-unstable = { - url = "github:nixos/nixpkgs/nixos-unstable"; - }; + nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05"; + nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; + nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=latest"; home-manager = { url = "github:nix-community/home-manager/release-26.05"; inputs.nixpkgs.follows = "nixpkgs"; }; - nix-flatpak = { - url = "github:gmodena/nix-flatpak/?ref=latest"; - }; }; outputs = inputs @ { self, nixpkgs, nixpkgs-unstable, - home-manager, nix-flatpak, + home-manager, ... }: let system = "x86_64-linux"; @@ -31,24 +25,27 @@ phostron = nixpkgs.lib.nixosSystem { specialArgs = {inherit inputs;}; modules = [ - - ({config, pkgs, ...}: { - nixpkgs.hostPlatform = system; - nixpkgs.config.allowUnfree = true; - nixpkgs.overlays = [ - (final: prev: { - unstable = import nixpkgs-unstable { - system = prev.stdenv.hostPlatform.system; - config.allowUnfree = true; - }; - }) - ]; + ({ + config, + pkgs, + ... + }: { + nixpkgs = { + hostPlatform = system; + config.allowUnfree = true; + overlays = [ + (final: prev: { + unstable = import nixpkgs-unstable { + system = prev.stdenv.hostPlatform.system; + config.allowUnfree = true; + }; + }) + ]; + }; }) - ./hosts/phostron/default.nix ./profiles/kde.nix ./users/coyote/default.nix - home-manager.nixosModules.home-manager { home-manager = { @@ -61,7 +58,6 @@ ]; }; } - ]; }; }; diff --git a/profiles/kde.nix b/profiles/kde.nix index 9189bc4..20bba61 100644 --- a/profiles/kde.nix +++ b/profiles/kde.nix @@ -6,7 +6,13 @@ environment = { systemPackages = with pkgs.kdePackages; [ - kate bluez-qt kalk filelight kamoso konversation kmail + kate + bluez-qt + kalk + filelight + kamoso + konversation + kmail ]; plasma6.excludePackages = with pkgs.kdePackages; [discover]; }; diff --git a/users/coyote/default.nix b/users/coyote/default.nix index dbc020a..ffbc598 100644 --- a/users/coyote/default.nix +++ b/users/coyote/default.nix @@ -19,15 +19,32 @@ in { environment = { systemPackages = with pkgs; [ # system utils - unzip imagemagick ghostscript tectonic mermaid-cli + unzip + imagemagick + ghostscript + tectonic + mermaid-cli # programming - python3 lua gcc clang chicken guile sbcl nodejs - unstable.racket + python3 + lua + gcc + clang + chicken + guile + sbcl + nodejs + unstable.racket # devel - ast-grep luarocks stylua + ast-grep + luarocks + stylua unstable.lazygit # LSPs - ty nil marksman systemd-lsp bash-language-server + ty + nil + marksman + systemd-lsp + bash-language-server ]; sessionVariables.SSH_AUTH_SOCK = "/run/user/${builtins.toString USER_ID}/ssh-agent"; }; diff --git a/users/coyote/dotfiles/vim/vim-lisp b/users/coyote/dotfiles/vim/vim-lisp index b2038a5..fa7b19f 100644 --- a/users/coyote/dotfiles/vim/vim-lisp +++ b/users/coyote/dotfiles/vim/vim-lisp @@ -8,3 +8,7 @@ setlocal autoindent setlocal showmatch setlocal lispwords+=defmacro,defmethod,define-syntax,let,let*,letre,cond + +if exists('*rainbow#load') + call rainbow#load() +endif diff --git a/users/coyote/dotfiles/vim/vimrc b/users/coyote/dotfiles/vim/vimrc index 5d129e0..aa21a43 100644 --- a/users/coyote/dotfiles/vim/vimrc +++ b/users/coyote/dotfiles/vim/vimrc @@ -10,7 +10,7 @@ syntax on set ruler set showcmd set showmode -set laststatus=1 +set laststatus=2 set wildmenu set wildmode=longest,list,full set ttyfast diff --git a/users/coyote/home.nix b/users/coyote/home.nix index 71fd18b..749e3cc 100644 --- a/users/coyote/home.nix +++ b/users/coyote/home.nix @@ -1,10 +1,14 @@ -{pkgs, lib, ...}: -let +{ + pkgs, + lib, + ... +}: let mkVimFt = src: langs: builtins.listToAttrs (map (lang: { - name = ".vim/after/ftplugin/${lang}.vim"; - value = { source = src; }; - }) langs); + name = ".vim/after/ftplugin/${lang}.vim"; + value = {source = src;}; + }) + langs); in { home = { stateVersion = "26.05"; # I hope you know what you're doing. :) @@ -15,11 +19,19 @@ in { packages = with pkgs; [ # programs - fastfetch helix + fastfetch + helix # productivity - libreoffice-fresh karp keepassxc + libreoffice-fresh + karp + keepassxc # multimedia - furnace corrscope vlc haruna subtitlecomposer kid3 + furnace + corrscope + vlc + haruna + subtitlecomposer + kid3 kdePackages.kdenlive unstable.audacity # Internet @@ -27,7 +39,7 @@ in { # games osu-lazer-bin # emulation - (unstable.bottles.override { removeWarningPopup = true; }) + (unstable.bottles.override {removeWarningPopup = true;}) ]; file = lib.mkMerge [ @@ -36,12 +48,15 @@ in { ".config/fastfetch/config.jsonc".source = ./dotfiles/fastfetch.jsonc; ".config/helix/config.toml".source = ./dotfiles/helix/helix.toml; ".config/helix/languages.toml".source = ./dotfiles/helix/helix-languages.toml; - ".config/nvim" = { source = ./dotfiles/nvim; recursive = true; }; + ".config/nvim" = { + source = ./dotfiles/nvim; + recursive = true; + }; } - (mkVimFt ./dotfiles/vim/vim-tab2 [ "javascript" "typescript" "html" "css" "json" "nix" ]) - (mkVimFt ./dotfiles/vim/vim-tab4 [ "python" "rust" "java" "lua" ]) - (mkVimFt ./dotfiles/vim/vim-tabs [ "go" "make" ]) - (mkVimFt ./dotfiles/vim/vim-lisp [ "lisp" "scheme" "clojure" "racket" ]) + (mkVimFt ./dotfiles/vim/vim-tab2 ["javascript" "typescript" "html" "css" "json" "nix"]) + (mkVimFt ./dotfiles/vim/vim-tab4 ["python" "rust" "java" "lua" "c" "cpp" "h" "hpp"]) + (mkVimFt ./dotfiles/vim/vim-tabs ["go" "make"]) + (mkVimFt ./dotfiles/vim/vim-lisp ["lisp" "scheme" "clojure" "racket"]) ]; }; @@ -49,6 +64,7 @@ in { vim = { enable = true; packageConfigurable = pkgs.unstable.vim-full; + plugins = with pkgs.unstable.vimPlugins; [rainbow]; defaultEditor = true; }; neovim = {