From 79d7fa046ced2303ca5f2d2d74048c5af35229cd Mon Sep 17 00:00:00 2001 From: Doloro1978 Date: Sat, 4 Oct 2025 05:50:18 +0100 Subject: [PATCH] wip: update --- nix/configuration.nix | 3 ++ nix/flake.lock | 17 ++++++++++ nix/flake.nix | 3 ++ nix/home.nix | 3 ++ nix/modules/fish/default.nix | 0 nix/modules/fish/home.nix | 7 ++++ nix/modules/nixvim/home.nix | 35 +++++++++++++++++-- nix/modules/nixvim/plugins/conform.nix | 47 +++++++++++++------------- nix/modules/stylix/nixos.nix | 1 + nix/overlays.nix | 7 ++-- nix/secrets/meow.yaml | 34 +++++++++++++++++++ nvim/init.lua | 2 +- nvim/queries/nix/injections.scm | 1 + 13 files changed, 132 insertions(+), 28 deletions(-) create mode 100644 nix/modules/fish/default.nix create mode 100644 nix/modules/fish/home.nix create mode 100644 nix/secrets/meow.yaml create mode 120000 nvim/queries/nix/injections.scm diff --git a/nix/configuration.nix b/nix/configuration.nix index 9c59867..1fb2911 100644 --- a/nix/configuration.nix +++ b/nix/configuration.nix @@ -18,6 +18,7 @@ ./modules/steam/nixos.nix ./modules/hyprland/nixos.nix ./disks.nix + ./overlays.nix ]; # Use the systemd-boot EFI boot loader. @@ -154,11 +155,13 @@ pulse.enable = true; }; + programs.fish.enable = true; # Enable touchpad support (enabled default in most desktopManager). # services.libinput.enable = true; services.openssh.enable = true; users.users.doloro = { isNormalUser = true; + shell = pkgs.fish; extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user. packages = with pkgs; [ tree diff --git a/nix/flake.lock b/nix/flake.lock index e678f30..e883ce0 100644 --- a/nix/flake.lock +++ b/nix/flake.lock @@ -774,6 +774,22 @@ "type": "github" } }, + "nixpkgs-gamescope": { + "locked": { + "lastModified": 1740963001, + "narHash": "sha256-5f2qfjJZDrNhgog+4LNeNz04qhGlSx+JnvWQXTl/uiQ=", + "owner": "Nixos", + "repo": "nixpkgs", + "rev": "8fcb6f1c4948305af52d19f887b89011ee2c080d", + "type": "github" + }, + "original": { + "owner": "Nixos", + "repo": "nixpkgs", + "rev": "8fcb6f1c4948305af52d19f887b89011ee2c080d", + "type": "github" + } + }, "nixpkgs_2": { "locked": { "lastModified": 1759070547, @@ -959,6 +975,7 @@ "neovim-nightly-overlay": "neovim-nightly-overlay", "nix-warez": "nix-warez", "nixpkgs": "nixpkgs_4", + "nixpkgs-gamescope": "nixpkgs-gamescope", "nixvim": "nixvim", "quickshell": "quickshell", "sops-nix": "sops-nix", diff --git a/nix/flake.nix b/nix/flake.nix index fe02aa9..f48164b 100644 --- a/nix/flake.nix +++ b/nix/flake.nix @@ -37,6 +37,9 @@ # Blender-bin url = "github:edolstra/nix-warez?dir=blender"; }; + nixpkgs-gamescope = { + url = "github:Nixos/nixpkgs?rev=8fcb6f1c4948305af52d19f887b89011ee2c080d"; + }; }; outputs = inputs@{ nixpkgs, home-manager, ... }: diff --git a/nix/home.nix b/nix/home.nix index 42682c3..b1a1149 100644 --- a/nix/home.nix +++ b/nix/home.nix @@ -19,6 +19,7 @@ ./modules/spicetify/home.nix ./modules/obs/home.nix ./modules/blender/home.nix + ./modules/fish/home.nix ./overlays.nix ]; # Home Manager needs a bit of information about you and the paths it should @@ -52,7 +53,9 @@ pavucontrol lazygit btop + sops ]; + # sops.age.keyFile = "/home/doloro/.config/sops/age/key.txt"; # Home Manager is pretty good at managing dotfiles. The primary way to manage # plain files is through 'home.file'. diff --git a/nix/modules/fish/default.nix b/nix/modules/fish/default.nix new file mode 100644 index 0000000..e69de29 diff --git a/nix/modules/fish/home.nix b/nix/modules/fish/home.nix new file mode 100644 index 0000000..d273c10 --- /dev/null +++ b/nix/modules/fish/home.nix @@ -0,0 +1,7 @@ +{ ... }: +{ + home.shell.enableFishIntegration = true; + programs.fish = { + # enable = true; + }; +} diff --git a/nix/modules/nixvim/home.nix b/nix/modules/nixvim/home.nix index 67527e6..a7dd758 100644 --- a/nix/modules/nixvim/home.nix +++ b/nix/modules/nixvim/home.nix @@ -2,11 +2,15 @@ { imports = [ inputs.nixvim.homeModules.nixvim - ./plugins - ]; + ./plugins + ]; + home.packages = with pkgs; [ + nixfmt + ]; programs.nixvim = { enable = true; defaultEditor = true; + colorschemes.tokyonight.enable = true; plugins = { notify.enable = true; mini-cursorword.enable = true; @@ -17,6 +21,26 @@ lazygit.enable = true; persisted.enable = true; wakatime.enable = true; + treesitter = { + enable = true; + grammarPackages = with pkgs.vimPlugins.nvim-treesitter.builtGrammars; [ + bash + json + lua + make + markdown + nix + regex + toml + vim + vimdoc + xml + yaml + ]; + settings = { + highlight.enable = true; + }; + }; }; extraPlugins = with pkgs; [ vimPlugins.mini-completion @@ -42,6 +66,13 @@ silent = true; }; } + { + action = "Telescope find_files"; + key = "ff"; + options = { + silent = true; + }; + } { action = "Telescope file_browser"; key = "fv"; diff --git a/nix/modules/nixvim/plugins/conform.nix b/nix/modules/nixvim/plugins/conform.nix index 9f3b869..eb436fe 100644 --- a/nix/modules/nixvim/plugins/conform.nix +++ b/nix/modules/nixvim/plugins/conform.nix @@ -1,24 +1,25 @@ -{ ... }: { - programs.nixvim = { - plugins = { - conform-nvim = { - enable = true; - settings = { - formatters_by_ft = { - nix = [ "nixfmt" ]; - rust = [ "rustfmt" ]; - "_" = [ - "squeeze_blanks" - "trim_whitespace" - "trim_newlines" - ]; - }; - format_on_save = { - timeout_ms = 500; - lsp_format = "fallback"; - }; - }; - }; - }; - }; +{ ... }: +{ + programs.nixvim = { + plugins = { + conform-nvim = { + enable = true; + settings = { + formatters_by_ft = { + nix = [ "nixfmt" ]; + rust = [ "rustfmt" ]; + "_" = [ + "squeeze_blanks" + "trim_whitespace" + "trim_newlines" + ]; + }; + format_on_save = { + timeout_ms = 500; + lsp_format = "fallback"; + }; + }; + }; + }; + }; } diff --git a/nix/modules/stylix/nixos.nix b/nix/modules/stylix/nixos.nix index 8125ee8..98db79e 100644 --- a/nix/modules/stylix/nixos.nix +++ b/nix/modules/stylix/nixos.nix @@ -16,6 +16,7 @@ in ]; config = { stylix.enable = true; + stylix.autoEnable = false; # honestly, fuck stylix; #stylix.targets.tmux.enable = false; }; diff --git a/nix/overlays.nix b/nix/overlays.nix index 13e5d81..49ba731 100644 --- a/nix/overlays.nix +++ b/nix/overlays.nix @@ -1,4 +1,4 @@ -{ pkgs, lib, ... }: +{ pkgs, lib, inputs, ... }: let arrpc_overlay = ( self: super: { @@ -13,7 +13,10 @@ let }); } ); + gamescope_overlay = self: super: { + gamescope = super.callPackage "${inputs.nixpkgs-gamescope}/pkgs/by-name/ga/gamescope/package.nix" { }; +}; in { - nixpkgs.overlays = [ arrpc_overlay ]; + nixpkgs.overlays = [ arrpc_overlay gamescope_overlay ]; } diff --git a/nix/secrets/meow.yaml b/nix/secrets/meow.yaml new file mode 100644 index 0000000..886ce82 --- /dev/null +++ b/nix/secrets/meow.yaml @@ -0,0 +1,34 @@ +hello: ENC[AES256_GCM,data:JOf6mEYrkFHUBP8NCgyptjlcmr6VgtwmTiCLQq2WP6w/op4ECrE4idWsRlPkiA==,iv:R/mcdk9EjdmDdk4tGSDwfJmYVUcunEQUEkkJSg72KQQ=,tag:QILXRM7SAkFphqozfIPzkw==,type:str] +example_key: ENC[AES256_GCM,data:tmOq0hbbnnCqPtRa+/A=,iv:15INNYh6bJQbk2+uZ0SF/GW745BHF7nQQjygy6UWAbU=,tag:tjayudlabN7FkHvLe0K3eA==,type:str] +#ENC[AES256_GCM,data:vZ36NjLcCUEfRU4Fm8lUxw==,iv:eQYTrekfzSW6NlBIv3if8w7uyBXQswX1gaM/rnI7vIY=,tag:397BOrmwoXF8EVZY+yrCMg==,type:comment] +example_array: + - ENC[AES256_GCM,data:PvfR/DrlYPd+DSI+454=,iv:24kewXfEk0mJRJLKbh5zSY92DKaNDey+H5XySp4DOU4=,tag:B2RyvSwKy1ryXI28tnzTRw==,type:str] + - ENC[AES256_GCM,data:eUxdfJrfLRit/JKLD0I=,iv:CFIAXxhNjRTfziyvp132BXpIz3Ida7BauwbrVg0kMyA=,tag:x1Ee6HSBo9eHHag2kZur+g==,type:str] +example_number: ENC[AES256_GCM,data:xr8sJuGGBGUOtA==,iv:G7ROCw394BeEAe/pVgWquoanQH9uka5rBa12yaBBWYI=,tag:DQWdE/MSuqC873mfBoG0cw==,type:float] +example_booleans: + - ENC[AES256_GCM,data:c859ug==,iv:S8XOJKkxDkzZ1l4GtHtnWQjE4/9hPg1OF63QBd7dW4g=,tag:gD5jqtdIDCSwDYMq0qgugw==,type:bool] + - ENC[AES256_GCM,data:U9CA3bg=,iv:wJUdNBi/mnwV1ceE6WNuI4TCVHJmI5Er1gtAs0zkJNY=,tag:PGjiLAPoJi50Rr+QKQBprQ==,type:bool] +sops: + age: + - recipient: age1ykcy2r4kk729e7adqxu8s24ujc60z5eux7ma0ca4ruzydwgm5p6qmdp838 + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA5NHJORkdLREdOelFGblo5 + MUJzWjlmdXY5Q2FBM1FuNXlGZTBGekkzVEhnCmU2VVZtSWtuS0NwOUZ6VmRPOE1s + S25KalAwVnBWMVB5dmM4cm1DOERqOW8KLS0tIGFXeUtvNG5jSVV3T0lqdWtlc2U0 + eEpBMm9OT0VZRGF3b28yOW5NdE1WRmMK1RQL/H263BbmgLhFx9ZnGKSk49pVW29u + ad5cU8gHTAUxKaue5uO2yTMfOO7Xb/FRFc0NfPo5Gtv6VVjMZ40hdg== + -----END AGE ENCRYPTED FILE----- + - recipient: age1e6vws55p0g23qzthm4qa93hpt6lqmck6670gkygph0sc0j7my4uq5wqjfh + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaVEZvQjBwV2pQcTI2MWtk + Yzh0eU9oNzBOb3FWcnRXT3JGWXRweEdxVUNZCnFQaHMzNzVYQTl4bUdhVW1DdHVa + aytEN1g1NHdJNm9CdGZpc0xZY1NldU0KLS0tIGZHb2hLaTIrN2ZLM25LRHhKeTdV + WUVOL25USWtjcWZPajd1aHBOVk81TEUKnrHLe/XjE3mYS38+Fmv8vUtH1SGzgnSp + aPJ+fBSRCHNGNobZo2nQAbgmu7S55nHSnRcyVNUe0nT6gZhlQAShEw== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2025-10-03T12:42:01Z" + mac: ENC[AES256_GCM,data:n8oRT2LS3T52NWl3dHse1kFdsbaZlCSyg3a7FcPYsdIVAUPPYMYBDi26wgkx0n5/5nFZ1pvSp2/2O91Z8P/b8C+X3Rg2tOVprKJDdX5qeUycrit/kuMXTHVSHvnLQiBdsPDpqgORtQCXCDo+lqgVOPmI3A60/Pf7offve5b/1kY=,iv:VN7+0Azr0ro5dLnTQYFKuYtTDUZoc80uXjFiVtHpENQ=,tag:+Jiohkn2NQPYLJjdeOqC9g==,type:str] + unencrypted_suffix: _unencrypted + version: 3.10.2 diff --git a/nvim/init.lua b/nvim/init.lua index ec24445..172845d 120000 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -1 +1 @@ -/nix/store/q03c1i1hawl68l71aynw1ykhmpw7mbxj-home-manager-files/.config/nvim/init.lua \ No newline at end of file +/nix/store/xycwlsz35q6nrnfm6c65ksqyvw3qc5dc-home-manager-files/.config/nvim/init.lua \ No newline at end of file diff --git a/nvim/queries/nix/injections.scm b/nvim/queries/nix/injections.scm new file mode 120000 index 0000000..150f76c --- /dev/null +++ b/nvim/queries/nix/injections.scm @@ -0,0 +1 @@ +/nix/store/xycwlsz35q6nrnfm6c65ksqyvw3qc5dc-home-manager-files/.config/nvim/queries/nix/injections.scm \ No newline at end of file