diff --git a/configuration.nix b/configuration.nix index 4048f37..e93d7ae 100644 --- a/configuration.nix +++ b/configuration.nix @@ -10,6 +10,7 @@ in { nix = { package = pkgs.nixFlakes; + optimise.automatic = true; extraOptions = '' experimental-features = nix-command flakes ''; @@ -174,6 +175,8 @@ in neovim wget unzip + git + curl ]; # Some programs need SUID wrappers, can be configured further or are diff --git a/flake.lock b/flake.lock index 54ca7bb..417ea4c 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,57 @@ { "nodes": { + "fenix": { + "inputs": { + "nixpkgs": [ + "fh", + "nixpkgs" + ], + "rust-analyzer-src": "rust-analyzer-src" + }, + "locked": { + "narHash": "sha256-0dZpggYjjmWEk+rGixiBHOHuQfLzEzNfrtjSig04s6Q=", + "rev": "9ccae1754eec0341b640d5705302ac0923d22875", + "revCount": 1618, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/nix-community/fenix/0.1.1618%2Brev-9ccae1754eec0341b640d5705302ac0923d22875/018aea4c-03c9-7734-95d5-b84cc8881e3d/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/nix-community/fenix/0.1.1565.tar.gz" + } + }, + "fh": { + "inputs": { + "fenix": "fenix", + "flake-compat": "flake-compat", + "naersk": "naersk", + "nixpkgs": "nixpkgs" + }, + "locked": { + "narHash": "sha256-gyxlVSraZIVAyOaJk90fub4b8g1w4KXwqa1ecNAC7xA=", + "rev": "d72db6283e6b6bef7216c8586c16d9f648652400", + "revCount": 353, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/fh/0.1.7/018b3a46-fd61-77fb-9a59-239ed49dfff1/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/DeterminateSystems/fh/%2A.tar.gz" + } + }, + "flake-compat": { + "locked": { + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "revCount": 57, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/edolstra/flake-compat/1.0.1.tar.gz" + } + }, "flake-utils": { "inputs": { "systems": "systems" @@ -41,7 +93,7 @@ "hyprland": { "inputs": { "hyprland-protocols": "hyprland-protocols", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_2", "systems": "systems_2", "wlroots": "wlroots", "xdph": "xdph" @@ -85,6 +137,27 @@ "type": "github" } }, + "naersk": { + "inputs": { + "nixpkgs": [ + "fh", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1694081375, + "narHash": "sha256-vzJXOUnmkMCm3xw8yfPP5m8kypQ3BhAIRe4RRCWpzy8=", + "owner": "nix-community", + "repo": "naersk", + "rev": "3f976d822b7b37fc6fb8e6f157c2dd05e7e94e89", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "naersk", + "type": "github" + } + }, "nixlib": { "locked": { "lastModified": 1693701915, @@ -122,6 +195,19 @@ } }, "nixpkgs": { + "locked": { + "narHash": "sha256-9NJcFF9CEYPvHJ5ckE8kvINvI84SZZ87PvqMbH6pro0=", + "rev": "5e4c2ada4fcd54b99d56d7bd62f384511a7e2593", + "revCount": 534806, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.534806%2Brev-5e4c2ada4fcd54b99d56d7bd62f384511a7e2593/018b29e9-ae6d-72f2-993b-19cb9a64a3b5/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/NixOS/nixpkgs/0.1.514192.tar.gz" + } + }, + "nixpkgs_2": { "locked": { "lastModified": 1693158576, "narHash": "sha256-aRTTXkYvhXosGx535iAFUaoFboUrZSYb1Ooih/auGp0=", @@ -137,7 +223,7 @@ "type": "github" } }, - "nixpkgs_2": { + "nixpkgs_3": { "locked": { "lastModified": 1693780807, "narHash": "sha256-diV1X53HjSB3fIcDFieh9tGZkJ3vqJJQhTz89NbYw60=", @@ -155,11 +241,29 @@ }, "root": { "inputs": { + "fh": "fh", "flake-utils": "flake-utils", "home-manager": "home-manager", "hyprland": "hyprland", "nixos-generators": "nixos-generators", - "nixpkgs": "nixpkgs_2" + "nixpkgs": "nixpkgs_3" + } + }, + "rust-analyzer-src": { + "flake": false, + "locked": { + "lastModified": 1696050837, + "narHash": "sha256-2K3Aq4gjPZBDnkAMJaMA4ElE+BNbmrqtSBWtt9kPGaM=", + "owner": "rust-lang", + "repo": "rust-analyzer", + "rev": "0840038f02daec6ba3238f05d8caa037d28701a0", + "type": "github" + }, + "original": { + "owner": "rust-lang", + "ref": "nightly", + "repo": "rust-analyzer", + "type": "github" } }, "systems": { diff --git a/flake.nix b/flake.nix index 76c6131..4cea176 100644 --- a/flake.nix +++ b/flake.nix @@ -4,6 +4,8 @@ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; + fh.url = "https://flakehub.com/f/DeterminateSystems/fh/*.tar.gz"; + home-manager.url = "github:nix-community/home-manager"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; @@ -13,9 +15,13 @@ nixos-generators.inputs.nixpkgs.follows = "nixpkgs"; hyprland.url = "github:hyprwm/Hyprland"; + + # for l8r :::;) + #homeage.url = "github:jordanisaacs/homeage"; + #homeage.inputs.nixpkgs.follows = "nixpkgs"; }; - outputs = inputs@{ self, nixpkgs, home-manager, flake-utils, nixos-generators, hyprland, ... }: + outputs = inputs@{ self, nixpkgs, home-manager, flake-utils, nixos-generators, hyprland, fh, ... }: let # :( # could do like nix-i3, nix-hyprland but that would be LAME @@ -28,6 +34,10 @@ home-manager.useUserPackages = true; home-manager.users.mbk = (import ./home.nix) conf; } + { + environment.systemPackages = [ fh.packages.x86_64-linux.default ]; + } + # V evil V # (nixpkgs + "/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix") ]; in diff --git a/home.nix b/home.nix index 4fd453a..3cfb523 100644 --- a/home.nix +++ b/home.nix @@ -48,7 +48,11 @@ in discord steam + minecraft + fzf + kolourpaint + audacious akku # managing with elpas :( @@ -57,7 +61,19 @@ in ripgrep tldr htop + pv + lm_sensors + libnotify + + hunspell + aspell + libsForQt5.krunner-symbols + + mpv + yt-dlp + + # glow and gum are a good example of something that should really be in a flake.nix or whatever ]; programs.fish = { @@ -253,5 +269,10 @@ in services.emacs.client.enable = true; programs.emacs = { enable = true; + # apparently errors in the config matter? + # extraConfig = builtins.readFile ./init.el; }; + + programs.direnv.enable = true; + programs.direnv.nix-direnv.enable = true; } diff --git a/kitty.conf.nix b/kitty.conf.nix index 7dc96a2..8b08aef 100644 --- a/kitty.conf.nix +++ b/kitty.conf.nix @@ -207,7 +207,7 @@ cursor_underline_thickness 1.0 #: Defines the thickness of the underline cursor (in pts) -cursor_blink_interval -1 +cursor_blink_interval 0 #: The interval (in seconds) at which to blink the cursor. Set to zero #: to disable blinking. Negative values mean use system default. Note