my over complex system configurations dotfiles.isabelroses.com/
nixos nix flake dotfiles linux
9
fork

Configure Feed

Select the types of activity you want to include in your feed.

treewide: remove overlays

this has some issues i think but overall it seems cool

isabel 444815fa 191c206c

+48 -121
+34 -5
home/isabel/tui/neovim.nix
··· 1 - { inputs, config, ... }: 2 1 { 3 - imports = [ 4 - inputs.izvim.homeModules.default 5 - ]; 2 + lib, 3 + pkgs, 4 + inputs, 5 + options, 6 + config, 7 + ... 8 + }: 9 + let 10 + cfg = config.programs.izvim; 11 + in 12 + { 13 + imports = [ inputs.izvim.homeModules.default ]; 6 14 7 15 programs.izvim = { 8 16 inherit (config.garden.profiles.workstation) enable; 9 17 includePerLanguageTooling = true; 10 - # gui.enable = config.garden.profiles.graphical.enable; 18 + 19 + package = lib.mkForce ( 20 + options.programs.izvim.package.default.override { 21 + inherit (cfg) includePerLanguageTooling; 22 + 23 + nil = (pkgs.nil.override { nix = config.nix.package; }).overrideAttrs ( 24 + finalAttrs: oa: { 25 + src = pkgs.fetchFromGitHub { 26 + owner = "oxalica"; 27 + repo = "nil"; 28 + rev = "cd7a6f6d5dc58484e62a8e85677e06e47cf2bd4d"; 29 + hash = "sha256-fK4INnIJQNAA8cyjcDRZSPleA+N/STI6I0oBDMZ2r+E="; 30 + }; 31 + 32 + cargoDeps = pkgs.rustPlatform.fetchCargoVendor { 33 + inherit (finalAttrs) src; 34 + hash = "sha256-wvtCLCvpxbUo7VZPExUI7J+U06jnWBMnVuXqJeL/kOI="; 35 + }; 36 + } 37 + ); 38 + } 39 + ); 11 40 }; 12 41 }
+1 -1
modules/base/default.nix
··· 4 4 ../generic 5 5 ../../home 6 6 ./nix 7 - ./nixpkgs 7 + ./nixpkgs.nix 8 8 ./programs.nix 9 9 ./system 10 10 ./users
+8
modules/base/nixpkgs/config.nix modules/base/nixpkgs.nix
··· 1 + { pkgs, ... }: 1 2 { 2 3 nixpkgs.config = { 3 4 # I want to install packages that are not FOSS sometimes ··· 33 34 # Also a good idea to know which packages might be very out of date or broken 34 35 # showDerivationWarnings = [ "maintainerless" ]; 35 36 }; 37 + 38 + assertions = [ 39 + { 40 + assertion = pkgs.overlays == [ ]; 41 + message = "nixpkgs overlays are not allowed in my configurations."; 42 + } 43 + ]; 36 44 }
-8
modules/base/nixpkgs/default.nix
··· 1 - { 2 - imports = [ 3 - # keep-sorted start 4 - ./config.nix 5 - ./overlays 6 - # keep-sorted end 7 - ]; 8 - }
-41
modules/base/nixpkgs/overlays/default.nix
··· 1 - { lib, config, ... }: 2 - let 3 - inherit (lib) map; 4 - 5 - overlays = map import [ 6 - # keep-sorted start 7 - ./fixes.nix 8 - ./funni.nix 9 - ./no-desktop.nix 10 - # keep-sorted end 11 - ]; 12 - in 13 - { 14 - nixpkgs.overlays = overlays ++ [ 15 - (_: prev: { 16 - # in order to reduce our closure size, we can override these packages to 17 - # use the nix package that we have installed, this will trigger a rebuild 18 - # of the packages that depend on them so hopefully its worth it for that 19 - # system space 20 - nixVersions = prev.nixVersions // { 21 - stable = config.nix.package; 22 - }; 23 - 24 - nil = (prev.nil.override { nix = config.nix.package; }).overrideAttrs ( 25 - finalAttrs: oa: { 26 - src = prev.fetchFromGitHub { 27 - owner = "oxalica"; 28 - repo = "nil"; 29 - rev = "cd7a6f6d5dc58484e62a8e85677e06e47cf2bd4d"; 30 - hash = "sha256-fK4INnIJQNAA8cyjcDRZSPleA+N/STI6I0oBDMZ2r+E="; 31 - }; 32 - 33 - cargoDeps = prev.rustPlatform.fetchCargoVendor { 34 - inherit (finalAttrs) src; 35 - hash = "sha256-wvtCLCvpxbUo7VZPExUI7J+U06jnWBMnVuXqJeL/kOI="; 36 - }; 37 - } 38 - ); 39 - }) 40 - ]; 41 - }
-3
modules/base/nixpkgs/overlays/fixes.nix
··· 1 - # this file exists to work around issues with nixpkgs that may arise 2 - # hopefully that means its empty a lot 3 - _: _: { }
-10
modules/base/nixpkgs/overlays/funni.nix
··· 1 - _: prev: { 2 - cocogitto = prev.symlinkJoin { 3 - name = "goc"; 4 - paths = [ prev.cocogitto ]; 5 - inherit (prev.cocogitto) passthru; 6 - postBuild = '' 7 - ln -s $out/bin/cog $out/bin/goc 8 - ''; 9 - }; 10 - }
-51
modules/base/nixpkgs/overlays/no-desktop.nix
··· 1 - # this file is a set of patches to remove the desktop files from this list of packages 2 - # I do this because I don't want these packages to show up in my application launcher 3 - # 4 - # Also do note that we are using the symlinkJoin function to create a new derivation 5 - # this is so we don't have to build the original packages again 6 - _: prev: { 7 - btop = 8 - if prev.stdenv.hostPlatform.isLinux then 9 - prev.symlinkJoin { 10 - name = "btop-nodesktop"; 11 - 12 - paths = [ prev.btop ]; 13 - postBuild = '' 14 - rm $out/share/applications/btop.desktop 15 - ''; 16 - 17 - inherit (prev.btop) version meta passthru; 18 - } 19 - else 20 - prev.btop; 21 - 22 - fish = 23 - if prev.stdenv.hostPlatform.isLinux then 24 - prev.symlinkJoin { 25 - name = "fish-nodesktop"; 26 - 27 - paths = [ prev.fish ]; 28 - postBuild = '' 29 - rm $out/share/applications/fish.desktop 30 - ''; 31 - 32 - inherit (prev.fish) version passthru meta; 33 - } 34 - else 35 - prev.fish; 36 - 37 - ranger = 38 - if prev.stdenv.hostPlatform.isLinux then 39 - prev.symlinkJoin { 40 - name = "ranger-nodesktop"; 41 - 42 - paths = [ prev.ranger ]; 43 - postBuild = '' 44 - rm $out/share/applications/ranger.desktop 45 - ''; 46 - 47 - inherit (prev.ranger) version passthru meta; 48 - } 49 - else 50 - prev.ranger; 51 - }
+5 -2
modules/home/programs/direnv.nix
··· 1 - { config, ... }: 1 + { pkgs, config, ... }: 2 2 { 3 3 programs.direnv = { 4 4 inherit (config.garden.profiles.workstation) enable; 5 5 silent = true; 6 6 7 7 # faster, persistent implementation of use_nix and use_flake 8 - nix-direnv.enable = true; 8 + nix-direnv = { 9 + enable = true; 10 + package = pkgs.nix-direnv.override { nix = config.nix.package; }; 11 + }; 9 12 10 13 # store direnv in cache and not per project 11 14 # <https://github.com/direnv/direnv/wiki/Customizing-cache-location#hashed-directories>