summaryrefslogtreecommitdiff
path: root/accounts/gkleen@sif/default.nix
diff options
context:
space:
mode:
authorGregor Kleen <gkleen@yggdrasil.li>2022-10-22 19:33:45 +0200
committerGregor Kleen <gkleen@yggdrasil.li>2022-10-22 19:33:45 +0200
commitddcc8c65e30a9ca3b56e25466e749cb100b28510 (patch)
tree869c782c4e5874d4d353d3cd82af5b0e2dfe9a45 /accounts/gkleen@sif/default.nix
parent0b7bd91465487426041c777a40de3be9f7407058 (diff)
downloadnixos-ddcc8c65e30a9ca3b56e25466e749cb100b28510.tar
nixos-ddcc8c65e30a9ca3b56e25466e749cb100b28510.tar.gz
nixos-ddcc8c65e30a9ca3b56e25466e749cb100b28510.tar.bz2
nixos-ddcc8c65e30a9ca3b56e25466e749cb100b28510.tar.xz
nixos-ddcc8c65e30a9ca3b56e25466e749cb100b28510.zip
...
Diffstat (limited to 'accounts/gkleen@sif/default.nix')
-rw-r--r--accounts/gkleen@sif/default.nix23
1 files changed, 14 insertions, 9 deletions
diff --git a/accounts/gkleen@sif/default.nix b/accounts/gkleen@sif/default.nix
index 2cfaa620..842f7538 100644
--- a/accounts/gkleen@sif/default.nix
+++ b/accounts/gkleen@sif/default.nix
@@ -1,4 +1,7 @@
1{ flake, flakeInputs, userName, pkgs, customUtils, lib, config, sources, ... }@inputs: 1{ flake, flakeInputs, userName, pkgs, customUtils, lib, config, sources, ... }@inputs:
2
3with lib;
4
2let 5let
3 cfg = config.home-manager.users.${userName}; 6 cfg = config.home-manager.users.${userName};
4 xmonad = import ./xmonad pkgs.haskell.packages.ghc8107; 7 xmonad = import ./xmonad pkgs.haskell.packages.ghc8107;
@@ -29,16 +32,18 @@ let
29 --prefix PATH : ${pkgs.pulseaudio}/bin 32 --prefix PATH : ${pkgs.pulseaudio}/bin
30 ''; 33 '';
31 }; 34 };
32 wrapElectron = { package, bin ? package.meta.mainProgram or package.pname or (pkgs.lib.strings.nameFromURL package.name "-"), outBin ? bin }: pkgs.runCommand "${package.name}-wrapped" { buildInputs = with pkgs; [ makeWrapper ]; } '' 35 wrapElectron = { package, bin ? package.meta.mainProgram or package.pname or (pkgs.lib.strings.nameFromURL package.name "-"), outBin ? bin, sandbox ? true }: pkgs.runCommand "${package.name}-wrapped" { buildInputs = with pkgs; [ makeWrapper ]; } ''
33 mkdir -p "$out/bin" 36 mkdir -p "$out/bin"
34 makeWrapper ${package}/bin/${bin} $out/bin/${outBin} \ 37 makeWrapper ${package}/bin/${bin} $out/bin/${outBin} \
35 --add-flags '--force-device-scale-factor=1.6' 38 --add-flags '--force-device-scale-factor=1.6' \
39 ${optionalString (!sandbox) "--add-flags '--no-sandbox'"}
36 ''; 40 '';
37 41
38 wrappedChrome = wrapElectron { package = pkgs.google-chrome; outBin = "google-chrome"; }; 42 wrappedChrome = wrapElectron { package = pkgs.google-chrome; outBin = "google-chrome"; };
39 wrappedZulip = wrapElectron { package = pkgs.zulip; bin = "zulip"; outBin = "zulip"; }; 43 wrappedZulip = wrapElectron { package = pkgs.zulip; bin = "zulip"; outBin = "zulip"; };
40 wrappedElementDesktop = wrapElectron { package = pkgs.element-desktop; bin = "element-desktop"; outBin = "element"; }; 44 wrappedElementDesktop = wrapElectron { package = pkgs.element-desktop; bin = "element-desktop"; outBin = "element"; };
41 wrappedRocketChatDesktop = wrapElectron { package = pkgs.rocketchat-desktop; bin = "rocketchat-desktop"; outBin = "rocketchat"; }; 45 wrappedRocketChatDesktop = wrapElectron { package = pkgs.rocketchat-desktop; bin = "rocketchat-desktop"; outBin = "rocketchat"; };
46 wrappedYTMDesktop = wrapElectron { package = pkgs.ytmdesktop; sandbox = false; };
42in { 47in {
43 imports = with flake.nixosModules.userProfiles.${userName}; [ 48 imports = with flake.nixosModules.userProfiles.${userName}; [
44 mpv yt-dlp (args: import ./xcompose.nix (inputs // args)) 49 mpv yt-dlp (args: import ./xcompose.nix (inputs // args))
@@ -47,7 +52,7 @@ in {
47 config = { 52 config = {
48 services.xserver = { 53 services.xserver = {
49 displayManager.defaultSession = "none+xmonad"; 54 displayManager.defaultSession = "none+xmonad";
50 55
51 windowManager.session = [{ 56 windowManager.session = [{
52 name = "xmonad"; 57 name = "xmonad";
53 start = '' 58 start = ''
@@ -155,7 +160,7 @@ in {
155 160
156 zsh.initExtra = "source ${./zshrc}"; 161 zsh.initExtra = "source ${./zshrc}";
157 zsh.dirHashes = let 162 zsh.dirHashes = let
158 flakeHashes = lib.mapAttrs' (n: v: lib.nameValuePair (inputNames.${n} or n) (toString v)) flakeInputs; 163 flakeHashes = mapAttrs' (n: v: nameValuePair (inputNames.${n} or n) (toString v)) flakeInputs;
159 inputNames = { 164 inputNames = {
160 "nixpkgs" = "nixos"; 165 "nixpkgs" = "nixos";
161 }; 166 };
@@ -193,7 +198,7 @@ in {
193 enable = true; 198 enable = true;
194 client = { 199 client = {
195 enable = true; 200 enable = true;
196 arguments = lib.mkForce ["-a" "\"\""]; 201 arguments = mkForce ["-a" "\"\""];
197 }; 202 };
198 }; 203 };
199 gpg-agent = { 204 gpg-agent = {
@@ -318,7 +323,7 @@ in {
318 fira fira-code powerline-fonts nerdfonts pavucontrol keepassxc 323 fira fira-code powerline-fonts nerdfonts pavucontrol keepassxc
319 sxiv xclip mumble pulseaudio-ctl pamixer libnotify synergy 324 sxiv xclip mumble pulseaudio-ctl pamixer libnotify synergy
320 xorg.xbacklight screen-message 325 xorg.xbacklight screen-message
321 ytmdesktop qt5ct playerctl evince 326 wrappedYTMDesktop qt5ct playerctl evince
322 thunderbird wrappedZulip zoom-us steam steam-run wireshark 327 thunderbird wrappedZulip zoom-us steam steam-run wireshark
323 virt-manager rclone cached-nix-shell xournal xmonad worktime 328 virt-manager rclone cached-nix-shell xournal xmonad worktime
324 fira-code-symbols libreoffice xournalpp wrappedChrome 329 fira-code-symbols libreoffice xournalpp wrappedChrome
@@ -403,8 +408,8 @@ in {
403 defaultApplications = let 408 defaultApplications = let
404 filters = { 409 filters = {
405 }; 410 };
406 filter = n: v: (filters.${n} or lib.id) (lib.filter (d: d != "emacs.desktop") v); 411 doFilter = n: v: (filters.${n} or id) (filter (d: d != "emacs.desktop") v);
407 in lib.mapAttrs filter (cfg.lib.xdg.mimeAssociations [ 412 in mapAttrs doFilter (cfg.lib.xdg.mimeAssociations [
408 cfg.programs.zathura.package 413 cfg.programs.zathura.package
409 pkgs.sxiv 414 pkgs.sxiv
410 cfg.programs.emacs.package 415 cfg.programs.emacs.package