diff --git a/configuration.nix b/configuration.nix index 5cdeb0e..2925048 100644 --- a/configuration.nix +++ b/configuration.nix @@ -62,6 +62,7 @@ libnotify kitty zsh + ollama ]; fonts.packages = with pkgs; [nerdfonts]; @@ -77,6 +78,12 @@ # List services that you want to enable: # Enable the OpenSSH daemon. + services = { + ollama = { + enable = true; + acceleration = "cuda"; + }; + }; services.openssh.enable = true; services.greetd = { enable = true; diff --git a/flake.lock b/flake.lock index 0fdf79f..41671ca 100644 --- a/flake.lock +++ b/flake.lock @@ -3,14 +3,17 @@ "ags": { "inputs": { "astal": "astal", - "nixpkgs": "nixpkgs" + "nixpkgs": [ + "hyprpanel", + "nixpkgs" + ] }, "locked": { - "lastModified": 1734091628, - "narHash": "sha256-8O3i8zESjHVsGzyXb8gEpLztvANq3Ot5bwo60YKJc7k=", + "lastModified": 1736090999, + "narHash": "sha256-B5CJuHqfJrzPa7tObK0H9669/EClSHpa/P7B9EuvElU=", "owner": "aylur", "repo": "ags", - "rev": "27cd93147aba09142fa585fd16f13c56268b696c", + "rev": "5527c3c07d92c11e04e7fd99d58429493dba7e3c", "type": "github" }, "original": { @@ -28,29 +31,11 @@ ] }, "locked": { - "lastModified": 1733520119, - "narHash": "sha256-6K07ZJTnFu1xASBCMtVc9cFTbBEauwSc7gGBmjLkLSk=", + "lastModified": 1735172721, + "narHash": "sha256-rtEAwGsHSppnkR3Qg3eRJ6Xh/F84IY9CrBBLzYabalY=", "owner": "aylur", "repo": "astal", - "rev": "4c19d8d06fa25cc6389f37abe8839b4d8be5c0d6", - "type": "github" - }, - "original": { - "owner": "aylur", - "repo": "astal", - "type": "github" - } - }, - "astal_2": { - "inputs": { - "nixpkgs": "nixpkgs_2" - }, - "locked": { - "lastModified": 1734814417, - "narHash": "sha256-R+tLGIxlaqsOmV52TdXHP0u33q5PdJ77gtiUPK5BbMg=", - "owner": "aylur", - "repo": "astal", - "rev": "3468763d51d389c67ec7b1a390ffa8a5328bddb6", + "rev": "6c84b64efc736e039a8a10774a4a1bf772c37aa2", "type": "github" }, "original": { @@ -67,11 +52,11 @@ ] }, "locked": { - "lastModified": 1728330715, - "narHash": "sha256-xRJ2nPOXb//u1jaBnDP56M7v5ldavjbtR6lfGqSvcKg=", + "lastModified": 1735644329, + "narHash": "sha256-tO3HrHriyLvipc4xr+Ewtdlo7wM1OjXNjlWRgmM7peY=", "owner": "numtide", "repo": "devshell", - "rev": "dd6b80932022cea34a019e2bb32f6fa9e494dfef", + "rev": "f7795ede5b02664b57035b3b757876703e2c3eac", "type": "github" }, "original": { @@ -82,12 +67,12 @@ }, "flake-compat": { "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "revCount": 57, + "lastModified": 1733328505, + "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", + "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", + "revCount": 69, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz" }, "original": { "type": "tarball", @@ -102,11 +87,11 @@ ] }, "locked": { - "lastModified": 1733312601, - "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", + "lastModified": 1736143030, + "narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", + "rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de", "type": "github" }, "original": { @@ -143,18 +128,14 @@ "nixpkgs": [ "nixvim", "nixpkgs" - ], - "nixpkgs-stable": [ - "nixvim", - "nixpkgs" ] }, "locked": { - "lastModified": 1734425854, - "narHash": "sha256-nzE5UbJ41aPEKf8R2ZFYtLkqPmF7EIUbNEdHMBLg0Ig=", + "lastModified": 1737465171, + "narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "0ddd26d0925f618c3a5d85a4fa5eb1e23a09491d", + "rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17", "type": "github" }, "original": { @@ -192,11 +173,11 @@ ] }, "locked": { - "lastModified": 1734366194, - "narHash": "sha256-vykpJ1xsdkv0j8WOVXrRFHUAdp9NXHpxdnn1F4pYgSw=", + "lastModified": 1736373539, + "narHash": "sha256-dinzAqCjenWDxuy+MqUQq0I4zUSfaCvN9rzuCmgMZJY=", "owner": "nix-community", "repo": "home-manager", - "rev": "80b0fdf483c5d1cb75aaad909bd390d48673857f", + "rev": "bd65bc3cde04c16755955630b344bc9e35272c56", "type": "github" }, "original": { @@ -214,11 +195,11 @@ ] }, "locked": { - "lastModified": 1734366194, - "narHash": "sha256-vykpJ1xsdkv0j8WOVXrRFHUAdp9NXHpxdnn1F4pYgSw=", + "lastModified": 1736373539, + "narHash": "sha256-dinzAqCjenWDxuy+MqUQq0I4zUSfaCvN9rzuCmgMZJY=", "owner": "nix-community", "repo": "home-manager", - "rev": "80b0fdf483c5d1cb75aaad909bd390d48673857f", + "rev": "bd65bc3cde04c16755955630b344bc9e35272c56", "type": "github" }, "original": { @@ -231,17 +212,16 @@ "hyprpanel": { "inputs": { "ags": "ags", - "astal": "astal_2", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1735049846, - "narHash": "sha256-pjfcgsYsRmTI1B+mFVz/Rgc+SppWDBjORxRXKrDXc5E=", + "lastModified": 1737793455, + "narHash": "sha256-sVy0QU4fpZsUWj5B8t6jUNZHzVLC22+HYqcFG9pKPik=", "owner": "jas-singhfsu", "repo": "hyprpanel", - "rev": "1b31f04ba957f8e5bd745167b102f2b529f668d6", + "rev": "74065af3d2aa576e8b183d720033c3eece3deb70", "type": "github" }, "original": { @@ -286,42 +266,43 @@ ] }, "locked": { - "lastModified": 1733570843, - "narHash": "sha256-sQJAxY1TYWD1UyibN/FnN97paTFuwBw3Vp3DNCyKsMk=", + "lastModified": 1737421067, + "narHash": "sha256-/hgw8fDKDpko0XqOw1e9tX8lS2Hqecg7W/JsONun6Qc=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "a35b08d09efda83625bef267eb24347b446c80b8", + "rev": "cae8d1c4a3bd37be5887203fe3b0c3a860c53a07", "type": "github" }, "original": { "owner": "lnl7", + "ref": "nix-darwin-24.11", "repo": "nix-darwin", "type": "github" } }, "nixpkgs": { "locked": { - "lastModified": 1733581040, - "narHash": "sha256-Qn3nPMSopRQJgmvHzVqPcE3I03zJyl8cSbgnnltfFDY=", + "lastModified": 1737885640, + "narHash": "sha256-GFzPxJzTd1rPIVD4IW+GwJlyGwBDV1Tj5FLYwDQQ9sM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "22c3f2cf41a0e70184334a958e6b124fb0ce3e01", + "rev": "4e96537f163fad24ed9eb317798a79afc85b51b7", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-unstable", + "ref": "nixos-24.11", "repo": "nixpkgs", "type": "github" } }, "nixpkgs-unstable": { "locked": { - "lastModified": 1735268880, - "narHash": "sha256-7QEFnKkzD13SPxs+UFR5bUFN2fRw+GlL0am72ZjNre4=", + "lastModified": 1738009863, + "narHash": "sha256-KxmFlQ2j9PpDhKRXWu85bv3R2wmfkUqdpJhEwz9JN/E=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7cc0bff31a3a705d3ac4fdceb030a17239412210", + "rev": "f898cbfddfab52593da301a397a17d0af801bbc3", "type": "github" }, "original": { @@ -331,38 +312,6 @@ "type": "github" } }, - "nixpkgs_2": { - "locked": { - "lastModified": 1734424634, - "narHash": "sha256-cHar1vqHOOyC7f1+tVycPoWTfKIaqkoe1Q6TnKzuti4=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "d3c42f187194c26d9f0309a8ecc469d6c878ce33", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_3": { - "locked": { - "lastModified": 1734323986, - "narHash": "sha256-m/lh6hYMIWDYHCAsn81CDAiXoT3gmxXI9J987W5tZrE=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "394571358ce82dff7411395829aa6a3aad45b907", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-24.11", - "repo": "nixpkgs", - "type": "github" - } - }, "nixvim": { "inputs": { "devshell": "devshell", @@ -378,11 +327,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1734784342, - "narHash": "sha256-uap4LcvjpTz5WTgDfQYtL3QCpGmtee7DuD5mB8AIiLw=", + "lastModified": 1737731711, + "narHash": "sha256-6ubhKkCkBMuqFMjzeg+/2L5dNipKKf1KE9i8r8inyEg=", "owner": "nix-community", "repo": "nixvim", - "rev": "334947672f1eb05488e69657b9c412230bd658b4", + "rev": "841155edf9c4578f2f9a7bd6993e1da2ce73b35c", "type": "github" }, "original": { @@ -402,11 +351,11 @@ ] }, "locked": { - "lastModified": 1733773348, - "narHash": "sha256-Y47y+LesOCkJaLvj+dI/Oa6FAKj/T9sKVKDXLNsViPw=", + "lastModified": 1737372689, + "narHash": "sha256-nH3zK2ki0fd5o5qvbGHxukE4qnOLJa1uCzoDObG5vrE=", "owner": "NuschtOS", "repo": "search", - "rev": "3051be7f403bff1d1d380e4612f0c70675b44fc9", + "rev": "570cc17bbc25650eb7d69e4fcda8cfd2f1656922", "type": "github" }, "original": { @@ -419,7 +368,7 @@ "inputs": { "home-manager": "home-manager", "hyprpanel": "hyprpanel", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs", "nixpkgs-unstable": "nixpkgs-unstable", "nixvim": "nixvim" } @@ -447,11 +396,11 @@ ] }, "locked": { - "lastModified": 1734704479, - "narHash": "sha256-MMi74+WckoyEWBRcg/oaGRvXC9BVVxDZNRMpL+72wBI=", + "lastModified": 1737483750, + "narHash": "sha256-5An1wq5U8sNycOBBg3nsDDgpwBmR9liOpDGlhliA6Xo=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "65712f5af67234dad91a5a4baee986a8b62dbf8f", + "rev": "f2cc121df15418d028a59c9737d38e3a90fbaf8f", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 91db75e..175d739 100644 --- a/flake.nix +++ b/flake.nix @@ -4,12 +4,12 @@ inputs = { nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-24.11"; nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; - + home-manager = { url = "github:nix-community/home-manager/release-24.11"; inputs.nixpkgs.follows = "nixpkgs"; }; - + hyprpanel = { url = "github:jas-singhfsu/hyprpanel"; inputs.nixpkgs.follows = "nixpkgs"; @@ -23,31 +23,43 @@ }; }; - outputs = { self, nixpkgs, nixpkgs-unstable, home-manager, nixvim, hyprpanel,...}: - let - lib = nixpkgs.lib; - pkgs = nixpkgs.legacyPackages."x86_64-linux"; - pkgsUnstable = nixpkgs-unstable.legacyPackages."x86_64-linux"; - in { - nixosConfigurations = { - Tatara = lib.nixosSystem { - system = "x86_64-linux"; - modules = [ - ./configuration.nix - ]; - }; - }; - - homeConfigurations.fabric = home-manager.lib.homeManagerConfiguration { - inherit pkgs; - extraSpecialArgs = { - inherit nixvim hyprpanel; - }; + outputs = { + self, + nixpkgs, + nixpkgs-unstable, + home-manager, + nixvim, + hyprpanel, + ... + }: let + lib = nixpkgs.lib; + pkgs = nixpkgs.legacyPackages."x86_64-linux"; + pkgsUnstable = nixpkgs-unstable.legacyPackages."x86_64-linux"; + in { + nixosConfigurations = { + Tatara = lib.nixosSystem { + system = "x86_64-linux"; modules = [ - ./home.nix - nixvim.homeManagerModules.nixvim - hyprpanel.homeManagerModules.hyprpanel - ]; - }; - }; -} + ./configuration.nix + ]; + }; + }; + + homeConfigurations.fabric = home-manager.lib.homeManagerConfiguration { + inherit pkgs; + extraSpecialArgs = { + inherit nixvim hyprpanel; + }; + modules = [ + { + nixpkgs.overlays = [ + hyprpanel.overlay + ]; + } + ./home.nix + nixvim.homeManagerModules.nixvim + hyprpanel.homeManagerModules.hyprpanel + ]; + }; + }; +} diff --git a/home.nix b/home.nix index c9e9898..3e4c0c1 100644 --- a/home.nix +++ b/home.nix @@ -42,11 +42,12 @@ qbittorrent go gccgo14 - gtk3 - webkitgtk - nsis - upx hypridle + dprint + code-cursor + delve + ldtk + libresprite ]; home.sessionVariables = { @@ -56,26 +57,28 @@ # Let Home Manager install and manage itself. programs = { - hypridle = { - enable = true; - - listener = [ - { - timeout = 300; - on-timeout = "hyprctl dispatch dpms off"; - on-resume = "hyprctl dispatch dpms on"; - } - ]; - }; + # hypridle = { + # enable = true; + # + # listener = [ + # { + # timeout = 300; + # on-timeout = "hyprctl dispatch dpms off"; + # on-resume = "hyprctl dispatch dpms on"; + # } + # ]; + # }; home-manager.enable = true; zsh = { enable = true; - prezto.editor.keymap = "vi"; autosuggestion = { enable = true; }; oh-my-zsh = { enable = true; + plugins = [ + "vi-mode" + ]; }; initExtra = '' export PATH="/home/fabric/.deno/bin:$PATH" @@ -93,6 +96,11 @@ nixvim = { enable = true; plugins = { + cmp-dictionary.enable = true; + cmp-spell.enable = true; + toggleterm = { + enable = true; + }; web-devicons.enable = true; nix.enable = true; bufferline.enable = true; @@ -234,6 +242,7 @@ settings = { formatters_by_ft = { nix = ["alejandra"]; + markdown = ["dprint"]; # Use prettierd first, fallback to prettier javascript = { __unkeyed-1 = "prettierd"; @@ -259,7 +268,6 @@ scss = ["prettier"]; html = ["prettier"]; json = ["prettier"]; - markdown = ["prettier"]; # Run on all files "_" = ["trim_whitespace" "trim_newlines"]; }; @@ -330,6 +338,7 @@ friendly-snippets.enable = true; lsp = { enable = true; + inlayHints = true; servers = { ts_ls.enable = true; eslint.enable = true; @@ -353,13 +362,15 @@ {name = "path";} {name = "buffer";} {name = "luasnip";} + {name = "dictionary";} ]; mapping = { __raw = '' cmp.mapping.preset.insert({ [""] = cmp.mapping.select_next_item(), [""] = cmp.mapping.select_prev_item(), - ["",""] = cmp.mapping.confirm(), + [""] = cmp.mapping.confirm(), + [""] = cmp.mapping.confirm(), }) ''; }; @@ -388,6 +399,8 @@ signcolumn = "yes"; scrolloff = 12; shada = "'1000,f1,<500,%"; + guicursor = ""; + colorcolumn = "80"; }; keymaps = [ { @@ -497,6 +510,13 @@ key = "p"; action = "\"_dP"; } + + # Toggleterm + { + mode = "n"; + key = "t"; + action = ":ToggleTerm direction=float"; + } ]; colorschemes.rose-pine.enable = true; }; @@ -540,7 +560,6 @@ # Useful when updating your config so that you # don't need to manually restart it. # Default: false - systemd.enable = true; # Add '/nix/store/.../hyprpanel' to the # 'exec-once' in your Hyprland config. @@ -674,12 +693,12 @@ "$menu" = "wofi --show drun"; input = { - "repeat_delay" = "300"; - "repeate_rate" = "50"; + "repeat_delay" = 300; + "repeat_rate" = 50; }; exec-once = [ - "hypridle" + # "hypridle" ]; windowrule = [ @@ -736,7 +755,7 @@ }; services = { - hypridle.enable = true; + # hypridle.enable = true; }; home.sessionVariables.NIXOS_OZONE_WL = "1";