From 3c19c99ef4d8d89936fcd613ab85812e18c80fcd Mon Sep 17 00:00:00 2001 From: Thilo Billerbeck Date: Tue, 16 May 2023 23:02:01 +0200 Subject: [PATCH] cleaned up home manager config --- machines/common.nix | 63 ++++++++++++++++++++++++++++++++++++++++++ machines/laptop.nix | 43 ++++++++++++++++++++++++++++ packages.nix | 22 +-------------- programs/alacritty.nix | 4 +-- programs/vscode.nix | 7 +---- wrappers/vscode.nix | 0 6 files changed, 109 insertions(+), 30 deletions(-) create mode 100644 machines/common.nix create mode 100644 machines/laptop.nix create mode 100644 wrappers/vscode.nix diff --git a/machines/common.nix b/machines/common.nix new file mode 100644 index 0000000..caa5c11 --- /dev/null +++ b/machines/common.nix @@ -0,0 +1,63 @@ +{ config, pkgs, lib, ... }: + +{ + nixpkgs.config.allowUnfree = true; + news.display = "silent"; + + 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 + ./../programs/go.nix + ./../packages.nix + ]; + + home = { + username = "thilo"; + homeDirectory = "/home/thilo"; + stateVersion = "22.11"; + file = { + ".config/nano/nanorc".text = '' + set linenumbers + include "/usr/share/nano/*.nanorc" + ''; + ".ssh/config".source = ./../dotfiles/ssh-config; + }; + sessionVariables = { + + }; + activation = { + linkDesktopApplications = { + after = [ "writeBoundary" "createXdgUserDirectories" ]; + before = [ ]; + data = '' + for dir in ${config.home.homeDirectory}/.nix-profile/share/applications/*; do + chmod +x $(realpath $dir) -v + done + ''; + }; + setNodeGlobalDir = { + after = [ "writeBoundary" "createXdgUserDirectories" ]; + before = [ ]; + data = '' + mkdir -p ${config.home.homeDirectory}/.node-global + ${pkgs.nodejs}/bin/npm config set prefix ${config.home.homeDirectory}/.node-global + ''; + }; + }; + sessionPath = [ "${config.home.homeDirectory}/.node-global/bin" ]; + }; + + programs.home-manager.enable = true; +} diff --git a/machines/laptop.nix b/machines/laptop.nix new file mode 100644 index 0000000..2a7ad56 --- /dev/null +++ b/machines/laptop.nix @@ -0,0 +1,43 @@ +{ 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" + "--force-device-scale-factor=1.0" + "--use-gl=desktop" + ]; + nixGLWrap = import ./../utils/nixGLWrap.nix { inherit pkgs lib; }; +in { + imports = [ + ./common.nix + ]; + + targets.genericLinux.enable = true; + news.display = "silent"; + + programs.vscode.package = (nixGLWrap (pkgs.vscode.override { + commandLineArgs = + "--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --gtk-version=4"; + })); + programs.alacritty.package = (nixGLWrap pkgs.alacritty); + + home.packages = with pkgs; [ + (nixGLWrap (pkgs.vivaldi.override { + proprietaryCodecs = true; + enableWidevine = true; + commandLineArgs = chromeArgs; + })) + (nixGLWrap (pkgs.google-chrome.override { commandLineArgs = chromeArgs; })) + ]; + + xdg = { + enable = true; + mime.enable = true; + }; +} diff --git a/packages.nix b/packages.nix index d87f4c1..2f5bdab 100644 --- a/packages.nix +++ b/packages.nix @@ -1,18 +1,5 @@ { 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" - "--force-device-scale-factor=1.0" - "--use-gl=desktop" - ]; - nixGLWrap = import ./utils/nixGLWrap.nix { inherit pkgs lib; }; -in { +{ home.packages = with pkgs; [ up @@ -41,13 +28,6 @@ in { (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" diff --git a/programs/alacritty.nix b/programs/alacritty.nix index ec3ae36..24a4f96 100644 --- a/programs/alacritty.nix +++ b/programs/alacritty.nix @@ -1,10 +1,8 @@ { config, pkgs, lib, ... }: -let nixGLWrap = import ./../utils/nixGLWrap.nix { inherit pkgs lib; }; -in { +{ programs.alacritty = { enable = true; - package = (nixGLWrap pkgs.alacritty); settings = { window = { decorations = "full"; diff --git a/programs/vscode.nix b/programs/vscode.nix index da5b752..9c83bf3 100644 --- a/programs/vscode.nix +++ b/programs/vscode.nix @@ -1,13 +1,8 @@ { config, pkgs, lib, ... }: -let nixGLWrap = import ./../utils/nixGLWrap.nix { inherit pkgs lib; }; -in { +{ programs = { vscode = { enable = true; - package = (nixGLWrap (pkgs.vscode.override { - commandLineArgs = - "--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --gtk-version=4"; - })); }; }; } diff --git a/wrappers/vscode.nix b/wrappers/vscode.nix new file mode 100644 index 0000000..e69de29