diff --git a/custom-pkgs/default.nix b/custom-pkgs/default.nix index 7f269e6..79e173a 100644 --- a/custom-pkgs/default.nix +++ b/custom-pkgs/default.nix @@ -3,6 +3,7 @@ pkgs: { monaspace = import ./monaspace.nix pkgs; run = import ./run { inherit pkgs; }; unpem = import ./unpem { inherit pkgs; }; + u = import ./u { inherit pkgs; }; x = import ./x { inherit pkgs; }; } diff --git a/custom-pkgs/u/default.nix b/custom-pkgs/u/default.nix new file mode 100644 index 0000000..12e6bf8 --- /dev/null +++ b/custom-pkgs/u/default.nix @@ -0,0 +1,32 @@ +{ pkgs, ... }: pkgs.writeShellApplication { + name = "u"; + + text = '' + programs=(cargo git) + + if [ -z "''${1:-}" ]; then + echo "u: universial command executor" + echo "programs: ''${programs[*]}" + exit 0 + fi + + program_to_use="" + + for program in "''${programs[@]}"; do + if PAGER=true "$program" "$1" --help >/dev/null 2>/dev/null; then + if [ -n "$program_to_use" ]; then + echo "u: conflict: $1 is provided by both $program_to_use and $program" >&2 + exit 1 + fi + program_to_use="$program" + fi + done + + if [ -n "$program_to_use" ]; then + exec "$program_to_use" "$@" + fi + + echo "error: cannot find program for $1" >&2 + exit 1 + ''; +} diff --git a/home-manager/common-packages.nix b/home-manager/common-packages.nix index bb01cfa..a2f039b 100644 --- a/home-manager/common-packages.nix +++ b/home-manager/common-packages.nix @@ -29,5 +29,6 @@ with pkgs; [ rustup-toolchain-install-master samply tokei + customPkgs.u uwuify ] ++ crates diff --git a/home-manager/git.nix b/home-manager/git.nix index 902294a..58592fe 100644 --- a/home-manager/git.nix +++ b/home-manager/git.nix @@ -20,6 +20,8 @@ autosq = "autosquash"; pfush = "!echo \"hör uf ume z'pfusche und machs richtig\""; sw = "!git checkout $(git branch --format \"%(refname:lstrip=2)\" | ${lib.getExe' pkgs.fzf "fzf"})"; + # lol + build = "!cargo build"; }; difftastic = { enable = true; diff --git a/nixos/configuration.nix b/nixos/configuration.nix index ed5fad5..58f511f 100644 --- a/nixos/configuration.nix +++ b/nixos/configuration.nix @@ -181,10 +181,8 @@ in xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk pkgs.xdg-desktop-portal-gnome pkgs.gnome-keyring ]; programs.waybar.enable = true; - # TODO: Create a fancontrol config - hardware.fancontrol.enable = false; - hardware.fancontrol.config = '' - ''; + programs.coolercontrol.enable = true; + programs.coolercontrol.nvidiaSupport = true; services.flatpak.enable = true; console.keyMap = "sg";