From 08dd1086f2511118207d461ff324398052e890d8 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Wed, 28 Jan 2026 21:31:06 +0100 Subject: [PATCH] chore: commit some stuff? --- dotfiles/niri/config.kdl | 3 +- hosts/work/configuration.nix | 85 ++++++- hosts/work/home.nix | 218 +++++++++++++++++- modules/home-manager/bundles/desktop-apps.nix | 1 - modules/home-manager/programs/creativity.nix | 3 +- 5 files changed, 295 insertions(+), 15 deletions(-) diff --git a/dotfiles/niri/config.kdl b/dotfiles/niri/config.kdl index 80d067a..be50b2b 100644 --- a/dotfiles/niri/config.kdl +++ b/dotfiles/niri/config.kdl @@ -10,6 +10,7 @@ input { } touchpad { tap + dwt } mouse { @@ -22,7 +23,7 @@ input { } output "eDP-1" { - mode "1920x1080" + mode "1920x1200" scale 1 transform "normal" position x=0 y=0 diff --git a/hosts/work/configuration.nix b/hosts/work/configuration.nix index b3b5085..f664ca2 100644 --- a/hosts/work/configuration.nix +++ b/hosts/work/configuration.nix @@ -41,13 +41,41 @@ initrd.kernelModules = [ "amdgpu" ]; plymouth.enable = true; }; + documentation.man.generateCaches = false; programs = { niri.enable = true; # test... obs-studio = { enable = true; plugins = [ pkgs.obs-studio-plugins.wlrobs ]; }; - # xwayland.enable = true; + firejail = { + enable = true; + wrappedBinaries = { + slack = { + executable = "${pkgs.slack}/bin/slack"; + profile = "${pkgs.firejail}/etc/firejail/slack.profile"; + desktop = "${pkgs.slack}/share/applications/slack.desktop"; + extraArgs = [ + "--ignore=private-dev" + "--env=GTK_THEME=Adwaita:dark" + "--dbus-user.talk=org.freedesktop.Notifications" + "--dbus-user.talk=org.freedesktop.portal.Desktop" + ]; + + }; + # firefox = { + # executable = "${pkgs.firefox}/bin/firefox"; + # profile = "${pkgs.firejail}/etc/firejail/firefox.profile"; + # desktop = "${pkgs.firefox}/share/applications/firefox.desktop"; + # extraArgs = [ + # "--ignore=private-dev" + # "--env=GTK_THEME=Adwaita:dark" + # "--dbus-user.talk=org.freedesktop.Notifications" + # "--dbus-user.talk=org.freedesktop.portal.Desktop" + # ]; + # }; + }; + }; }; hardware = { sane.enable = true; @@ -76,8 +104,63 @@ pkgs.pavucontrol pkgs.swaylock pkgs.xwayland-satellite + pkgs.bottles + pkgs.podman + pkgs.podman-compose + ] + ++ [ + ( + let + packages = with pkgs; [ + firefox + # slack + ]; + lib = pkgs.lib; + in + pkgs.runCommand "firejail-icons" + { + preferLocalBuild = true; + allowSubstitutes = false; + meta.priority = -1; + } + '' + mkdir -p "$out/share/icons" + ${lib.concatLines ( + map (pkg: '' + tar -C "${pkg}" -c share/icons -h --mode 0755 -f - | tar -C "$out" -xf - + '') packages + )} + find "$out/" -type f -print0 | xargs -0 chmod 0444 + find "$out/" -type d -print0 | xargs -0 chmod 0555 + '' + ) ]; programs.wireshark.enable = true; + xdg.portal = { + enable = true; + extraPortals = with pkgs; [ + xdg-desktop-portal-gtk + xdg-desktop-portal-gnome + ]; + config = { + common = { + default = [ "gtk" ]; + }; + niri = { + default = [ + "gtk" + "gnome" + ]; + "org.freedesktop.impl.portal.ScreenCast" = [ "gnome" ]; + "org.freedesktop.impl.portal.Screenshot" = [ "gnome" ]; + }; + }; + }; + environment.sessionVariables = { + XDG_CURRENT_DESKTOP = "niri"; + XDG_SESSION_TYPE = "wayland"; + XDG_SESSION_DESKTOP = "niri"; + }; system.stateVersion = "24.05"; } diff --git a/hosts/work/home.nix b/hosts/work/home.nix index 29da88a..ed3a5a0 100644 --- a/hosts/work/home.nix +++ b/hosts/work/home.nix @@ -40,16 +40,212 @@ noctalia-shell.enable = true; quickshell.enable = true; alacritty.enable = true; + + firefox = { + enable = true; + # package = pkgs.librewolf; + policies = { + DisableTelemetry = true; + DisableFirefoxStudies = true; + DisableFormHistory = true; + DontCheckDefaultBrowser = true; + Preferences = { + "browser.urlbar.suggest.*" = false; + "cookiebanners.service.mode.privateBrowsing" = 2; # Block cookie banners in private browsing + "cookiebanners.service.mode" = 2; # Block cookie banners + # "privacy.clearOnShutdown_v2.browsingHistoryAndDownloads" = true; + # "privacy.clearOnShutdown_v2.formdata" = true; + "privacy.donottrackheader.enabled" = true; + "privacy.fingerprintingProtection" = true; + "privacy.resistFingerprinting" = true; + "privacy.trackingprotection.emailtracking.enabled" = true; + "privacy.trackingprotection.enabled" = true; + "privacy.trackingprotection.fingerprinting.enabled" = true; + "privacy.trackingprotection.socialtracking.enabled" = true; + }; + ExtensionSettings = + let + moz = short: "https://addons.mozilla.org/firefox/downloads/latest/${short}/latest.xpi"; + in + { + "*".installation_mode = "blocked"; + "jid1-ZAdIEUB7XOzOJw@jetpack" = { + install_url = moz "duckduckgo-for-firefox"; + installation_mode = "force_installed"; + }; + "uBlock0@raymondhill.net" = { + install_url = moz "ublock-origin"; + installation_mode = "force_installed"; + }; + "{446900e4-71c2-419f-a6a7-df9c091e268b}" = { + install_url = "https://addons.mozilla.org/firefox/downloads/file/4633659/bitwarden_password_manager-latest.xpi"; + installation_mode = "force_installed"; + }; + "CanvasBlocker@kkapsner.de" = { + install_url = moz "canvasblocker"; + installation_mode = "force_installed"; + }; + "tridactyl.vim@cmcaine.co.uk" = { + install_url = moz "tridactyl-vim"; # https://addons.mozilla.org/firefox/downloads/file/4549492/tridactyl_vim-1.24.4.xpi"; + installation_mode = "force_installed"; + }; + }; + }; + profiles.default = { + bookmarks = { + force = true; + settings = [ + { + name = "work"; + toolbar = true; + bookmarks = [ + { + name = "Outlook"; + url = "https://outlook.office.com/mail/"; + } + { + name = "GitHub"; + url = "https://github.com/"; + } + { + name = "Payfit"; + url = "https://app.payfit.com/"; + } + { + name = "Bul-Board"; + url = "https://www.notion.so/sencrop/Bul-Board-118d42607ea7806cb61ad48801e7e9c6"; + } + { + name = "AWS"; + url = "https://eu-central-1.console.aws.amazon.com/console/home?nc2=h_ct®ion=eu-central-1&src=header-signin#"; + } + { + name = "Warpstream"; + url = "https://console.warpstream.com/workspaces/wi_bb18a447_c54b_4af2_b008_8e536dfb5933/virtual_clusters"; + } + { + name = "Datadog"; + url = "https://app.datadoghq.eu/dash/integration/1691/warpstream-overview?fromUser=false&refresh_mode=sliding&tpl_var_env%5B0%5D=production&tpl_var_service%5B0%5D=warpstream-agent&from_ts=1753946297850&to_ts=1753949897850&live=true"; + } + { + name = "Databricks"; + url = "https://accounts.cloud.databricks.com/select-workspace?auto_login=true&account_id=67b69d0f-8dfc-4c26-8259-dadc9a107f5e"; + } + { + name = "Sigfox"; + url = "https://backend.sigfox.com/"; + } + { + name = "Sencrop back"; + url = "https://backoffice.sencrop.com/Device"; + } + { + name = "Sencrop app"; + url = "https://app.sencrop.com/home"; + } + ]; + } + "separator" + { + name = "perso"; + bookmarks = [ + { + name = "TouteMonAnnĂ©e"; + url = "https://www.toutemonannee.com/journal/e0c0683f-221f-488e-b31c-a2a8e8db8752"; + } + { + name = "Holiday Calendar 2025"; + url = "https://gw2efficiency.com/holiday-calendar"; + } + { + name = "Calendrier de l'avent"; + url = "https://calendrier.gw2.fr/"; + } + { + name = "Deezer"; + url = "https://deezer.com/"; + } + { + name = "Mail"; + url = "https://mail.proton.me/"; + } + { + name = "Element (Pookie)"; + url = "https://element.pookie.noho.st/element/"; + } + { + name = "Portail Famille"; + url = "portail.berger-levrault.fr/MairieDePlelanLeGrand35380/accueil"; + } + ]; + } + ]; + }; + + search = { + force = true; + default = "ddg"; + privateDefault = "ddg"; + engines = { + "Nix Packages" = { + urls = [ + { + template = "https://search.nixos.org/packages"; + params = [ + { + name = "channel"; + value = "unstable"; + } + { + name = "query"; + value = "{searchTerms}"; + } + ]; + } + ]; + icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; + definedAliases = [ "@np" ]; + }; + + "Nix Options" = { + urls = [ + { + template = "https://search.nixos.org/options"; + params = [ + { + name = "channel"; + value = "unstable"; + } + { + name = "query"; + value = "{searchTerms}"; + } + ]; + } + ]; + icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; + definedAliases = [ "@no" ]; + }; + + "NixOS Wiki" = { + urls = [ + { + template = "https://wiki.nixos.org/w/index.php"; + params = [ + { + name = "search"; + value = "{searchTerms}"; + } + ]; + } + ]; + icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; + definedAliases = [ "@nw" ]; + }; + }; + }; + }; + }; }; - xdg.portal = { - enable = true; - extraPortals = [ - pkgs.xdg-desktop-portal-gtk - pkgs.xdg-desktop-portal - ]; - configPackages = [ - pkgs.xdg-desktop-portal-gtk - pkgs.xdg-desktop-portal - ]; - }; + stylix.targets.firefox.profileNames = [ "default" ]; } diff --git a/modules/home-manager/bundles/desktop-apps.nix b/modules/home-manager/bundles/desktop-apps.nix index 03a50b1..f6c2a5e 100644 --- a/modules/home-manager/bundles/desktop-apps.nix +++ b/modules/home-manager/bundles/desktop-apps.nix @@ -14,7 +14,6 @@ pkgs.bitwarden-cli pkgs.bws # bitwarden pkgs.jq - pkgs.bottles pkgs.brightnessctl pkgs.flameshot pkgs.lutris diff --git a/modules/home-manager/programs/creativity.nix b/modules/home-manager/programs/creativity.nix index e9722e5..d3667f5 100644 --- a/modules/home-manager/programs/creativity.nix +++ b/modules/home-manager/programs/creativity.nix @@ -14,7 +14,8 @@ let ]; printing-apps = with pkgs; [ blender - # prusa-slicer + orca-slicer + super-slicer # openscad ]; gamedev-apps = with pkgs; [