From 325a2c54de956f6ce5a578c44d8026d0b2fc71e5 Mon Sep 17 00:00:00 2001 From: Thilo Billerbeck Date: Wed, 3 May 2023 02:27:17 +0200 Subject: [PATCH] more structural improvements --- home.nix | 73 +++++++++++------------------------------- packages.nix | 55 +++++++++++++++++++++++++++++++ programs/alacritty.nix | 17 +--------- programs/vscode.nix | 17 +--------- utils/nixGLWrap.nix | 17 ++++++++++ 5 files changed, 93 insertions(+), 86 deletions(-) create mode 100644 packages.nix create mode 100644 utils/nixGLWrap.nix diff --git a/home.nix b/home.nix index 037b5dd..2e7401a 100644 --- a/home.nix +++ b/home.nix @@ -1,67 +1,32 @@ { config, pkgs, lib, ... }: -let - chromeArgs = lib.strings.concatStringsSep " " [ - "--force-dark-mode" - "--enable-features=WebUIDarkMode" - "--enable-smooth-scrolling" - "--ozone-platform-hint=auto" - "--ignore-gpu-blocklist" - "--enable-gpu-rasterization" - "--enable-zero-copy" - ]; - nixgl = import { }; - nixGLWrap = pkg: - pkgs.runCommand "${pkg.name}-nixgl-wrapper" { } '' - mkdir $out - ln -s ${pkg}/* $out - rm $out/bin - mkdir $out/bin - for bin in ${pkg}/bin/*; do - wrapped_bin=$out/bin/$(basename $bin) - echo -e "#!/bin/bash\nexec ${lib.getExe nixgl.auto.nixGLDefault} $bin \$@" > $wrapped_bin - chmod +x $wrapped_bin - done - ''; -in { + +{ nixpkgs.config.allowUnfree = true; targets.genericLinux.enable = true; news.display = "silent"; - imports = map (n: "${./programs}/${n}") - (builtins.attrNames (builtins.readDir ./programs)); + imports = [ + ./programs/alacritty.nix + ./programs/bat.nix + ./programs/beets.nix + ./programs/command-not-found.nix + ./programs/direnv.nix + ./programs/fzf.nix + ./programs/git.nix + ./programs/htop.nix + ./programs/neovim.nix + ./programs/starship.nix + ./programs/topgrade.nix + ./programs/vscode.nix + ./programs/yt-dlp.nix + ./programs/zsh.nix + ./packages.nix + ]; home = { username = "thilo"; homeDirectory = "/home/thilo"; stateVersion = "22.11"; - packages = [ - pkgs.up - pkgs.rbenv - pkgs.cargo-update - pkgs.htop - pkgs.rustup - pkgs.nixfmt - pkgs.nodejs - pkgs.bun - pkgs.deno - pkgs.devbox - pkgs.tldr - pkgs.flutter - (import (fetchTarball - "https://github.com/cachix/devenv/archive/v0.6.2.tar.gz")).default - (pkgs.nerdfonts.override { - fonts = [ "JetBrainsMono" "FiraCode" "FiraMono" ]; - }) - (nixGLWrap (pkgs.vivaldi.override { - proprietaryCodecs = true; - enableWidevine = true; - commandLineArgs = chromeArgs; - })) - (nixGLWrap - (pkgs.google-chrome.override { commandLineArgs = chromeArgs; })) - (pkgs.writeShellScriptBin "ssh-fix-permissions" (builtins.readFile ./scripts/ssh-fix-permissions.sh)) - (pkgs.writeShellScriptBin "yt-dlp-audio" (builtins.readFile ./scripts/yt-dlp-audio.sh)) - ]; file = { ".config/nano/nanorc".text = '' set linenumbers diff --git a/packages.nix b/packages.nix new file mode 100644 index 0000000..4a30713 --- /dev/null +++ b/packages.nix @@ -0,0 +1,55 @@ +{ config, pkgs, lib, ... }: +let + chromeArgs = lib.strings.concatStringsSep " " [ + "--force-dark-mode" + "--enable-features=WebUIDarkMode" + "--enable-smooth-scrolling" + "--ozone-platform-hint=auto" + "--ignore-gpu-blocklist" + "--enable-gpu-rasterization" + "--enable-zero-copy" + ]; + nixGLWrap = import ./utils/nixGLWrap.nix { inherit pkgs lib; }; +in { + home.packages = with pkgs; + [ + up + rbenv + cargo-update + htop + rustup + nixfmt + nodejs + bun + deno + devbox + tldr + flutter + nurl + hcloud + tea + ] ++ [ + (import (fetchTarball + "https://github.com/cachix/devenv/archive/v0.6.2.tar.gz")).default + (pkgs.nerdfonts.override { + fonts = [ "JetBrainsMono" "FiraCode" "FiraMono" ]; + }) + (nixGLWrap (pkgs.vivaldi.override { + proprietaryCodecs = true; + enableWidevine = true; + commandLineArgs = chromeArgs; + })) + (nixGLWrap + (pkgs.google-chrome.override { commandLineArgs = chromeArgs; })) + (pkgs.writeShellScriptBin "ssh-fix-permissions" + (builtins.readFile ./scripts/ssh-fix-permissions.sh)) + (pkgs.writeShellScriptBin "yt-dlp-audio" + (builtins.readFile ./scripts/yt-dlp-audio.sh)) + (pkgs.writeShellScriptBin "craft" ((pkgs.fetchFromGitHub { + owner = "codemonauts"; + repo = "docker-craft-cms-dev-env"; + rev = "5053d61654bc720fd61e011642e925a99d81baa0"; + hash = "sha256-VNL/cyECDx0FSn2xMHMQDbJ3d0y7SEKPZ2EzotQy/PA="; + }) + /bin/craft)) + ]; +} diff --git a/programs/alacritty.nix b/programs/alacritty.nix index aef6da0..ec3ae36 100644 --- a/programs/alacritty.nix +++ b/programs/alacritty.nix @@ -1,21 +1,6 @@ { config, pkgs, lib, ... }: -let - nixgl = import { }; - nixGLWrap = pkg: - pkgs.runCommand "${pkg.name}-nixgl-wrapper" { } '' - mkdir $out - ln -s ${pkg}/* $out - rm $out/bin - mkdir $out/bin - for bin in ${pkg}/bin/*; do - wrapped_bin=$out/bin/$(basename $bin) - echo -e "#!/bin/bash\nexec ${ - lib.getExe nixgl.auto.nixGLDefault - } $bin \$@" > $wrapped_bin - chmod +x $wrapped_bin - done - ''; +let nixGLWrap = import ./../utils/nixGLWrap.nix { inherit pkgs lib; }; in { programs.alacritty = { enable = true; diff --git a/programs/vscode.nix b/programs/vscode.nix index a62938a..da5b752 100644 --- a/programs/vscode.nix +++ b/programs/vscode.nix @@ -1,20 +1,5 @@ { config, pkgs, lib, ... }: -let - nixgl = import { }; - nixGLWrap = pkg: - pkgs.runCommand "${pkg.name}-nixgl-wrapper" { } '' - mkdir $out - ln -s ${pkg}/* $out - rm $out/bin - mkdir $out/bin - for bin in ${pkg}/bin/*; do - wrapped_bin=$out/bin/$(basename $bin) - echo -e "#!/bin/bash\nexec ${ - lib.getExe nixgl.auto.nixGLDefault - } $bin \$@" > $wrapped_bin - chmod +x $wrapped_bin - done - ''; +let nixGLWrap = import ./../utils/nixGLWrap.nix { inherit pkgs lib; }; in { programs = { vscode = { diff --git a/utils/nixGLWrap.nix b/utils/nixGLWrap.nix new file mode 100644 index 0000000..59556f5 --- /dev/null +++ b/utils/nixGLWrap.nix @@ -0,0 +1,17 @@ +{ pkgs, lib, ... }: + +let nixgl = import { }; +in pkg: +pkgs.runCommand "${pkg.name}-nixgl-wrapper" { } '' + mkdir $out + ln -s ${pkg}/* $out + rm $out/bin + mkdir $out/bin + for bin in ${pkg}/bin/*; do + wrapped_bin=$out/bin/$(basename $bin) + echo -e "#!/bin/bash\nexec ${ + lib.getExe nixgl.auto.nixGLDefault + } $bin \$@" > $wrapped_bin + chmod +x $wrapped_bin + done +''