diff --git a/flake.lock b/flake.lock index 67318e1..da3f24f 100644 --- a/flake.lock +++ b/flake.lock @@ -291,8 +291,7 @@ "nixpkgs": "nixpkgs", "nixpkgs-unstable": "nixpkgs-unstable", "sops-nix": "sops-nix", - "treefmt-nix": "treefmt-nix", - "wrapper-manager": "wrapper-manager" + "treefmt-nix": "treefmt-nix" } }, "sops-nix": { @@ -382,27 +381,6 @@ "repo": "flake-utils", "type": "github" } - }, - "wrapper-manager": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1707514093, - "narHash": "sha256-vrESSBhoRgEnAglfr30Vd1lzuS4pX/xLjoSj78oQKOc=", - "owner": "nrabulinski", - "repo": "wrapper-manager", - "rev": "01b80d8ea37839a7614177d59f06eb88fbe30fd2", - "type": "github" - }, - "original": { - "owner": "nrabulinski", - "ref": "wrap-certain-programs", - "repo": "wrapper-manager", - "type": "github" - } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 9c44a90..2d57a92 100644 --- a/flake.nix +++ b/flake.nix @@ -18,12 +18,6 @@ inputs.nixpkgs.follows = "nixpkgs"; }; - wrapper-manager = { - # Wrapper-manager fork with selective binary wrapping - url = "github:nrabulinski/wrapper-manager/wrap-certain-programs"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - disko = { url = "github:nix-community/disko"; inputs.nixpkgs.follows = "nixpkgs"; @@ -72,7 +66,6 @@ imports = [ ./flake/hosts.nix ./flake/modules.nix - ./flake/wrappers.nix ./flake/dev-shells.nix ./flake/formatter.nix ./flake/checks.nix diff --git a/flake/wrappers.nix b/flake/wrappers.nix deleted file mode 100644 index d85489c..0000000 --- a/flake/wrappers.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ - flake.wrappers.default = - { - inputs, - self, - pkgs, - lib, - ... - }: - { - _module.args.wrappers = lib.mapAttrs' ( - name: _: - lib.nameValuePair (lib.removeSuffix ".nix" name) ( - import "${self}/wrappers/${name}" { inherit inputs pkgs lib; } - ) - ) (builtins.readDir "${self}/wrappers"); - }; -} diff --git a/hosts/common.nix b/hosts/common.nix index 18f3e42..2d57229 100644 --- a/hosts/common.nix +++ b/hosts/common.nix @@ -6,10 +6,7 @@ ... }: { - imports = [ - self.nixosModules.default - self.wrappers.default - ]; + imports = [ self.nixosModules.default ]; networking.domain = "stork-atlas.ts.net"; diff --git a/modules/home/de/cliphist.nix b/modules/home/de/cliphist.nix index d6c0554..eff0cb7 100644 --- a/modules/home/de/cliphist.nix +++ b/modules/home/de/cliphist.nix @@ -2,7 +2,6 @@ config, pkgs, lib, - wrappers, ... }: { @@ -18,7 +17,6 @@ "${lib.getExe config.services.cliphist.package} wipe"; home.packages = [ - (wrappers.rofi { inherit (config.myConfig.de) theme; }) pkgs.wl-clipboard (pkgs.writeScriptBin "rofi-clipboard" "cliphist list | rofi -dmenu -display-columns 2 | cliphist decode | wl-copy") ]; diff --git a/modules/home/de/hypridle.nix b/modules/home/de/hypridle.nix index 3ebb6cd..e23e59c 100644 --- a/modules/home/de/hypridle.nix +++ b/modules/home/de/hypridle.nix @@ -2,17 +2,13 @@ config, pkgs, lib, - wrappers, ... }: { options.myConfig.de.hypridle.enable = lib.mkEnableOption ""; config = lib.mkIf config.myConfig.de.hypridle.enable { - home.packages = [ - wrappers.hyprlock - pkgs.brightnessctl - ]; + home.packages = [ pkgs.brightnessctl ]; services.hypridle = { enable = true; diff --git a/modules/home/de/hyprland/default.nix b/modules/home/de/hyprland/default.nix index 1c4ea99..bdd5fd4 100644 --- a/modules/home/de/hyprland/default.nix +++ b/modules/home/de/hyprland/default.nix @@ -2,7 +2,6 @@ config, pkgs, lib, - wrappers, ... }@moduleArgs: { @@ -14,7 +13,6 @@ wayland.windowManager.hyprland.enable = true; home.packages = [ - (wrappers.rofi { inherit (config.myConfig.de) theme; }) pkgs.wl-clipboard pkgs.playerctl pkgs.brightnessctl @@ -22,7 +20,9 @@ ]; myConfig.de = { + rofi.enable = true; hyprpaper.enable = true; + hyprlock.enable = true; hypridle.enable = true; waybar.enable = true; cliphist.enable = true; diff --git a/modules/home/de/hyprlock.nix b/modules/home/de/hyprlock.nix new file mode 100644 index 0000000..e2a8fb4 --- /dev/null +++ b/modules/home/de/hyprlock.nix @@ -0,0 +1,21 @@ +{ config, lib, ... }: +{ + options.myConfig.de.hyprlock.enable = lib.mkEnableOption ""; + + config = lib.mkIf config.myConfig.de.hyprlock.enable { + programs.hyprlock = { + enable = true; + + settings = { + general.no_fade_in = true; + background = { + monitor = ""; + path = "~/Pictures/.wallpaper"; + blur_size = 4; + blur_passes = 1; + }; + input-field.monitor = ""; + }; + }; + }; +} diff --git a/wrappers/rofi/config.rasi b/modules/home/de/rofi/config.rasi similarity index 100% rename from wrappers/rofi/config.rasi rename to modules/home/de/rofi/config.rasi diff --git a/wrappers/rofi/dark-theme.rasi b/modules/home/de/rofi/dark-theme.rasi similarity index 100% rename from wrappers/rofi/dark-theme.rasi rename to modules/home/de/rofi/dark-theme.rasi diff --git a/modules/home/de/rofi/default.nix b/modules/home/de/rofi/default.nix new file mode 100644 index 0000000..e6b2457 --- /dev/null +++ b/modules/home/de/rofi/default.nix @@ -0,0 +1,27 @@ +{ + config, + pkgs, + lib, + ... +}: +{ + options.myConfig.de.rofi.enable = lib.mkEnableOption ""; + + config = lib.mkIf config.myConfig.de.rofi.enable { + home.packages = [ pkgs.rofi-wayland ]; + + xdg.configFile."rofi/config.rasi".source = + let + theming = + { + dark = ./dark-theme.rasi; + light = ./light-theme.rasi; + } + .${config.myConfig.de.theme}; + in + pkgs.concatText "rofi-config" [ + ./config.rasi + theming + ]; + }; +} diff --git a/wrappers/rofi/light-theme.rasi b/modules/home/de/rofi/light-theme.rasi similarity index 100% rename from wrappers/rofi/light-theme.rasi rename to modules/home/de/rofi/light-theme.rasi diff --git a/modules/home/firefox.nix b/modules/home/firefox.nix new file mode 100644 index 0000000..f1f6f04 --- /dev/null +++ b/modules/home/firefox.nix @@ -0,0 +1,65 @@ +{ + config, + inputs, + pkgs, + lib, + ... +}: +{ + options.myConfig.firefox.enable = lib.mkEnableOption ""; + + config = lib.mkIf config.myConfig.firefox.enable { + programs.firefox = { + enable = true; + + profiles.default = { + settings = + let + uiState = ''{"placements":{"widget-overflow-fixed-list":[],"unified-extensions-area":["sponsorblocker_ajay_app-browser-action","_762f9885-5a13-4abd-9c77-433dcd38b8fd_-browser-action","_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action","_74145f27-f039-47ce-a470-a662b129930a_-browser-action","ublock0_raymondhill_net-browser-action"],"nav-bar":["back-button","forward-button","stop-reload-button","customizableui-special-spring1","urlbar-container","customizableui-special-spring2","save-to-pocket-button","downloads-button","fxa-toolbar-menu-button","unified-extensions-button","sidebar-button"],"toolbar-menubar":["menubar-items"],"TabsToolbar":["firefox-view-button","tabbrowser-tabs","new-tab-button","alltabs-button"],"PersonalToolbar":["personal-bookmarks"]},"seen":["developer-button","sponsorblocker_ajay_app-browser-action","_762f9885-5a13-4abd-9c77-433dcd38b8fd_-browser-action","_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action","_74145f27-f039-47ce-a470-a662b129930a_-browser-action","ublock0_raymondhill_net-browser-action"],"dirtyAreaCache":["nav-bar","unified-extensions-area","PersonalToolbar","TabsToolbar","toolbar-menubar"],"currentVersion":20,"newElementCount":5}''; + in + { + "intl.accept_languages" = "en-us,en,de-de,de"; + "browser.uiCustomization.state" = uiState; + "sidebar.position_start" = false; + "browser.toolbars.bookmarks.visibility" = "always"; + "browser.bookmarks.restore_default_bookmarks" = false; + "browser.bookmarks.file" = ""; + "media.videocontrols.picture-in-picture.video-toggle.enabled" = false; + "general.autoScroll" = true; + "middlemouse.paste" = false; + "signon.rememberSignons" = false; + "extensions.formautofill.creditCards.enabled" = false; + "browser.tabs.loadBookmarksInBackground" = true; + "browser.tabs.groups.enabled" = true; + }; + + extraConfig = builtins.readFile "${inputs.betterfox}/user.js"; + }; + + policies.ExtensionSettings = + let + extension = shortId: uuid: { + name = uuid; + value = { + install_url = "file:///${ + inputs.firefox-addons.packages.${pkgs.system}.${shortId} + }/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/${uuid}.xpi"; + installation_mode = "force_installed"; + default_area = "menupanel"; + }; + }; + in + { + "*".installation_mode = "blocked"; + } + // lib.listToAttrs [ + (extension "dictionary-german" "de-DE@dictionaries.addons.mozilla.org") + (extension "ublock-origin" "uBlock0@raymondhill.net") + (extension "bitwarden" "{446900e4-71c2-419f-a6a7-df9c091e268b}") + (extension "return-youtube-dislikes" "{762f9885-5a13-4abd-9c77-433dcd38b8fd}") + (extension "sponsorblock" "sponsorBlocker@ajay.app") + (extension "clearurls" "{74145f27-f039-47ce-a470-a662b129930a}") + ]; + }; + }; +} diff --git a/modules/home/kitty.nix b/modules/home/kitty.nix new file mode 100644 index 0000000..4de1e25 --- /dev/null +++ b/modules/home/kitty.nix @@ -0,0 +1,34 @@ +{ + config, + pkgs, + lib, + ... +}: +{ + options.myConfig.kitty.enable = lib.mkEnableOption ""; + + config = lib.mkIf config.myConfig.kitty.enable { + programs.kitty = { + enable = true; + + settings = + let + theme-name = + { + dark = "default"; + light = "GitHub_Light"; + } + .${config.myConfig.de.theme}; + in + { + include = "${pkgs.kitty-themes}/share/kitty-themes/themes/${theme-name}.conf"; + font_family = "JetBrainsMono Nerd Font"; + background_opacity = "0.85"; + cursor_shape = "beam"; + confirm_os_window_close = 0; + enable_audio_bell = "no"; + update_check_interval = 0; + }; + }; + }; +} diff --git a/modules/home/shell/aliases.nix b/modules/home/shell/aliases.nix index 90bb871..aee3376 100644 --- a/modules/home/shell/aliases.nix +++ b/modules/home/shell/aliases.nix @@ -2,7 +2,6 @@ config, pkgs, lib, - wrappers, ... }: { @@ -35,14 +34,12 @@ cat = "bat --plain --theme=${theme}"; }; - kittyAlias = { - kitty = lib.getExe (wrappers.kitty { inherit (config.myConfig.de) theme; }); - }; + bottomAlias.btm = "btm --group_processes"; in lib.mkMerge [ lsAliases catAlias - kittyAlias + bottomAlias ]; }; } diff --git a/users/common-home.nix b/users/common-home.nix index 3683576..e9c953c 100644 --- a/users/common-home.nix +++ b/users/common-home.nix @@ -1,9 +1,6 @@ { self, ... }: { - imports = [ - self.homeManagerModules.default - self.wrappers.default - ]; + imports = [ self.homeManagerModules.default ]; systemd.user.startServices = "sd-switch"; diff --git a/users/seb/home.nix b/users/seb/home.nix index 1e5ad6d..1267522 100644 --- a/users/seb/home.nix +++ b/users/seb/home.nix @@ -1,15 +1,12 @@ -{ - config, - pkgs, - wrappers, - ... -}: +{ pkgs, ... }: { imports = [ ../common-home.nix ]; home.sessionVariables.FLAKE = "~/Projects/nixos-config"; myConfig = { + kitty.enable = true; + firefox.enable = true; sops.enable = true; shell.zsh.enable = true; git.enable = true; @@ -19,11 +16,9 @@ }; home.packages = [ - wrappers.bottom + pkgs.bottom pkgs.fastfetch - (wrappers.kitty { inherit (config.myConfig.de) theme; }) - wrappers.firefox pkgs.nemo-with-extensions pkgs.celluloid pkgs.spotify diff --git a/wrappers/bottom.nix b/wrappers/bottom.nix deleted file mode 100644 index b0fe842..0000000 --- a/wrappers/bottom.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ inputs, pkgs, ... }: -(inputs.wrapper-manager.lib { - inherit pkgs; - modules = [ - { - wrappers.bottom = { - basePackage = pkgs.bottom; - flags = [ "--group_processes" ]; - }; - } - ]; -}).config.wrappers.bottom.wrapped diff --git a/wrappers/firefox/default.nix b/wrappers/firefox/default.nix deleted file mode 100644 index e41d5fa..0000000 --- a/wrappers/firefox/default.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ - inputs, - pkgs, - lib, - ... -}: -(inputs.wrapper-manager.lib { - inherit pkgs; - modules = [ - { - wrappers.firefox = { - basePackage = pkgs.wrapFirefox pkgs.firefox-unwrapped { - extraPolicies.ExtensionSettings = import ./extensions.nix { inherit inputs pkgs lib; }; - extraPrefs = import ./preferences.nix { inherit inputs; }; - }; - }; - } - ]; -}).config.wrappers.firefox.wrapped diff --git a/wrappers/firefox/extensions.nix b/wrappers/firefox/extensions.nix deleted file mode 100644 index 376190c..0000000 --- a/wrappers/firefox/extensions.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ - inputs, - pkgs, - lib, - ... -}: -let - extension = shortId: uuid: { - name = uuid; - value = { - install_url = "file:///${ - inputs.firefox-addons.packages.${pkgs.system}.${shortId} - }/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/${uuid}.xpi"; - installation_mode = "force_installed"; - default_area = "menupanel"; - }; - }; -in -{ - "*".installation_mode = "blocked"; -} -// lib.listToAttrs [ - (extension "dictionary-german" "de-DE@dictionaries.addons.mozilla.org") - (extension "ublock-origin" "uBlock0@raymondhill.net") - (extension "bitwarden" "{446900e4-71c2-419f-a6a7-df9c091e268b}") - (extension "return-youtube-dislikes" "{762f9885-5a13-4abd-9c77-433dcd38b8fd}") - (extension "sponsorblock" "sponsorBlocker@ajay.app") - (extension "clearurls" "{74145f27-f039-47ce-a470-a662b129930a}") -] diff --git a/wrappers/firefox/preferences.nix b/wrappers/firefox/preferences.nix deleted file mode 100644 index 1170b2b..0000000 --- a/wrappers/firefox/preferences.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ inputs, ... }: -let - betterfox = builtins.replaceStrings [ "user_pref" ] [ "pref" ] ( - builtins.readFile "${inputs.betterfox}/user.js" - ); - escapedUiState = - builtins.replaceStrings [ ''"'' ] [ ''\"'' ] - ''{"placements":{"widget-overflow-fixed-list":[],"unified-extensions-area":["sponsorblocker_ajay_app-browser-action","_762f9885-5a13-4abd-9c77-433dcd38b8fd_-browser-action","_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action","_74145f27-f039-47ce-a470-a662b129930a_-browser-action","ublock0_raymondhill_net-browser-action"],"nav-bar":["back-button","forward-button","stop-reload-button","customizableui-special-spring1","urlbar-container","customizableui-special-spring2","save-to-pocket-button","downloads-button","fxa-toolbar-menu-button","unified-extensions-button","sidebar-button"],"toolbar-menubar":["menubar-items"],"TabsToolbar":["firefox-view-button","tabbrowser-tabs","new-tab-button","alltabs-button"],"PersonalToolbar":["personal-bookmarks"]},"seen":["developer-button","sponsorblocker_ajay_app-browser-action","_762f9885-5a13-4abd-9c77-433dcd38b8fd_-browser-action","_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action","_74145f27-f039-47ce-a470-a662b129930a_-browser-action","ublock0_raymondhill_net-browser-action"],"dirtyAreaCache":["nav-bar","unified-extensions-area","PersonalToolbar","TabsToolbar","toolbar-menubar"],"currentVersion":20,"newElementCount":5}''; -in -'' - ${betterfox} - pref("intl.accept_languages", "en-us,en,de-de,de"); - pref("browser.uiCustomization.state", "${escapedUiState}"); - pref("sidebar.position_start", false); - pref("browser.toolbars.bookmarks.visibility", "always"); - pref("browser.bookmarks.restore_default_bookmarks", false); - pref("browser.bookmarks.file", ""); - pref("media.videocontrols.picture-in-picture.video-toggle.enabled", false); - pref("general.autoScroll", true); - pref("middlemouse.paste", false); - pref("signon.rememberSignons", false); - pref("extensions.formautofill.creditCards.enabled", false); - pref("browser.tabs.loadBookmarksInBackground", true); - pref("browser.tabs.groups.enabled", true); -'' diff --git a/wrappers/hyprlock.nix b/wrappers/hyprlock.nix deleted file mode 100644 index 1c9d085..0000000 --- a/wrappers/hyprlock.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ inputs, pkgs, ... }: -(inputs.wrapper-manager.lib { - inherit pkgs; - modules = [ - { - wrappers.hyprlock = { - basePackage = pkgs.hyprlock; - flags = - let - hyprlock-config = pkgs.writeText "hyprlock-config" '' - general { - no_fade_in = true - } - background { - monitor = - path = ~/Pictures/.wallpaper - blur_size = 4 - blur_passes = 1 - } - input-field { - monitor = - } - ''; - in - [ - "--config" - hyprlock-config - ]; - }; - } - ]; -}).config.wrappers.hyprlock.wrapped diff --git a/wrappers/kitty.nix b/wrappers/kitty.nix deleted file mode 100644 index eccc3b1..0000000 --- a/wrappers/kitty.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ inputs, pkgs, ... }: -{ - theme ? "dark", -}: -(inputs.wrapper-manager.lib { - inherit pkgs; - modules = [ - { - wrappers.kitty = { - basePackage = pkgs.kitty; - programs.kitty.prependFlags = - let - theme-name = - { - dark = "default"; - light = "GitHub_Light"; - } - .${theme}; - kitty-config = pkgs.writeText "kitty-config" '' - include ${pkgs.kitty-themes}/share/kitty-themes/themes/${theme-name}.conf - font_family JetBrainsMono Nerd Font - background_opacity 0.85 - cursor_shape beam - confirm_os_window_close 0 - enable_audio_bell no - update_check_interval 0 - ''; - in - [ - "--config" - kitty-config - ]; - }; - } - ]; -}).config.wrappers.kitty.wrapped diff --git a/wrappers/rofi/default.nix b/wrappers/rofi/default.nix deleted file mode 100644 index 34cadef..0000000 --- a/wrappers/rofi/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ inputs, pkgs, ... }: -{ - theme ? "dark", -}: -(inputs.wrapper-manager.lib { - inherit pkgs; - modules = [ - { - wrappers.rofi = { - basePackage = pkgs.rofi-wayland; - flags = - let - theming = - { - dark = ./dark-theme.rasi; - light = ./light-theme.rasi; - } - .${theme}; - in - [ - "-config" - (pkgs.concatText "rofi-config" [ - ./config.rasi - theming - ]) - ]; - }; - } - ]; -}).config.wrappers.rofi.wrapped