diff --git a/assets/wallpapers/river.png b/assets/wallpapers/river.png new file mode 100644 index 0000000..879b65a Binary files /dev/null and b/assets/wallpapers/river.png differ diff --git a/dotfiles/zsh/conf.d/ssh.zsh b/dotfiles/zsh/conf.d/ssh.zsh index 8860456..7e2231f 100755 --- a/dotfiles/zsh/conf.d/ssh.zsh +++ b/dotfiles/zsh/conf.d/ssh.zsh @@ -1,9 +1,11 @@ #!/usr/bin/env zsh if [ -z "$DESKTOP_SESSION" ]; then - if [ -z "$(pidof gnome-keyring-daemon)" ] && [ -n "$(command -v gnome-keyring-daemon)" ]; then - { eval $(gnome-keyring-daemon --start); } > /dev/null 2>&1 - export SSH_AUTH_SOCK + if [ -n "$(command -v gnome-keyring-daemon)" ]; then + if [ -z "$(pidof gnome-keyring-daemon)" ]; then + eval $(gnome-keyring-daemon --start) + export SSH_AUTH_SOCK + fi else { eval $(ssh-agent -s); } > /dev/null 2>&1 fi diff --git a/flake.lock b/flake.lock index 030d282..f474c4b 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1728337164, - "narHash": "sha256-VdRTjJFyq4Q9U7Z/UoC2Q5jK8vSo6E86lHc2OanXtvc=", + "lastModified": 1730016908, + "narHash": "sha256-bFCxJco7d8IgmjfNExNz9knP8wvwbXU4s/d53KOK6U0=", "owner": "nix-community", "repo": "home-manager", - "rev": "038630363e7de57c36c417fd2f5d7c14773403e4", + "rev": "e83414058edd339148dc142a8437edb9450574c8", "type": "github" }, "original": { @@ -22,11 +22,11 @@ }, "impermanence": { "locked": { - "lastModified": 1727649413, - "narHash": "sha256-FA53of86DjFdeQzRDVtvgWF9o52rWK70VHGx0Y8fElQ=", + "lastModified": 1729068498, + "narHash": "sha256-C2sGRJl1EmBq0nO98TNd4cbUy20ABSgnHWXLIJQWRFA=", "owner": "nix-community", "repo": "impermanence", - "rev": "d0b38e550039a72aff896ee65b0918e975e6d48e", + "rev": "e337457502571b23e449bf42153d7faa10c0a562", "type": "github" }, "original": { @@ -37,11 +37,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1728241625, - "narHash": "sha256-yumd4fBc/hi8a9QgA9IT8vlQuLZ2oqhkJXHPKxH/tRw=", + "lastModified": 1729880355, + "narHash": "sha256-RP+OQ6koQQLX5nw0NmcDrzvGL8HDLnyXt/jHhL1jwjM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c31898adf5a8ed202ce5bea9f347b1c6871f32d1", + "rev": "18536bf04cd71abd345f9579158841376fdd0c5a", "type": "github" }, "original": { @@ -53,11 +53,11 @@ }, "nur": { "locked": { - "lastModified": 1728490142, - "narHash": "sha256-5iIn7eiCYNq9eWhUAiXDHd3vkA4UCCruU9BEOP3FzfA=", + "lastModified": 1730296202, + "narHash": "sha256-hGJZw+NqnAxZW8sxJBgUd2CqhXwJ6qbG0vUCLkBt3NY=", "owner": "nix-community", "repo": "NUR", - "rev": "2a8c9d69e204ac6991449a12d69f748f60bb794c", + "rev": "fdff5f708f01925cd2ef15599a3dea76aba5f341", "type": "github" }, "original": { @@ -76,11 +76,11 @@ ] }, "locked": { - "lastModified": 1727917089, - "narHash": "sha256-XWNBGf8Z03sqA5/m99X6XTFbHGNuVx1gMaMQJbdDIrY=", + "lastModified": 1729710171, + "narHash": "sha256-2sVt2hbL+G0FzEESm/EZBewPOmNtZ6MTnYhsvHJW6Rs=", "owner": "nix-community", "repo": "plasma-manager", - "rev": "bc14b17bff1557de8f103172508f896a87bb9cdb", + "rev": "247a8e677b51f053ca89dcf67059e24f85e47391", "type": "github" }, "original": { diff --git a/home/persist.nix b/home/persist.nix index 1372dce..68a3a2a 100644 --- a/home/persist.nix +++ b/home/persist.nix @@ -3,16 +3,13 @@ { environment.persistence."/nix/persist".users.hu = { directories = [ - # Inspired by - # https://github.com/roboyoshi/datacurator-filetree/ - "archives" - "audio" - "documents" - "images" - "games" - "literature" - "software" - "video" + "archives" + "documents" + "programming" + "source" + "games" + "images" + "videos" # Program files { directory = ".gnupg"; mode = "0700"; } diff --git a/hosts/x220/default.nix b/hosts/x220/default.nix new file mode 100644 index 0000000..f6301dd --- /dev/null +++ b/hosts/x220/default.nix @@ -0,0 +1,75 @@ +{ pkgs, ... }: + +{ + imports = [ + ./hardware-configuration.nix + ./persist.nix + ../../home/default.nix + + ../../modules/desktop/environments/river.nix + ../../modules/system/basic.nix + ../../modules/system/security.nix + ../../modules/desktop/apps/communication.nix + ../../modules/desktop/apps/multimedia.nix + ../../modules/system/development.nix + ../../modules/packages/firefox.nix + ../../modules/packages/zsh.nix + ../../modules/packages/fastfetch.nix + ]; + + boot = { + loader.grub = { + enable = true; + device = "/dev/sda"; + gfxmodeEfi = "1366x768"; + }; + kernelPackages = pkgs.linuxPackages_xanmod_latest; + supportedFilesystems = [ "btrfs" ]; + }; + + networking = { + hostName = "x220"; + networkmanager.enable = true; + }; + + users.users.hu.extraGroups = [ "networkmanager" ]; + + time.timeZone = "Europe/Berlin"; + + i18n.defaultLocale = "en_US.UTF-8"; + console = { + font = "Lat2-Terminus16"; + keyMap = "de"; + # useXkbConfig = true; + }; + + nixpkgs.config.allowUnfree = true; + + programs.mtr.enable = true; + programs.gnupg.agent = { + enable = true; + enableSSHSupport = true; + }; + + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa = { + enable = true; + support32Bit = true; + }; + pulse.enable = true; + jack.enable = true; + }; + + services.tlp.enable = true; + + nix = { + extraOptions = '' + experimental-features = nix-command flakes + ''; + }; + + system.stateVersion = "24.05"; +} + diff --git a/hosts/x220/hardware-configuration.nix b/hosts/x220/hardware-configuration.nix new file mode 100644 index 0000000..789fd90 --- /dev/null +++ b/hosts/x220/hardware-configuration.nix @@ -0,0 +1,61 @@ +{ config, lib, modulesPath, ... }: + +{ + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; + + fileSystems."/" = { + device = "/dev/disk/by-uuid/e0b531cf-b575-4579-b866-9b7265e01b0a"; + fsType = "btrfs"; + options = [ "subvol=root" "compress=zstd" "noatime" "ssd" ]; + }; + + fileSystems."/nix" = { + device = "/dev/disk/by-uuid/e0b531cf-b575-4579-b866-9b7265e01b0a"; + fsType = "btrfs"; + options = [ "subvol=nix" "compress=zstd" "noatime" "ssd" ]; + neededForBoot = true; + }; + + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/bfe6e556-44e9-427f-9ae6-eddae6c62298"; + fsType = "ext4"; + }; + + boot.initrd.luks.devices."vg".device = "/dev/disk/by-uuid/92b4f484-2c00-47e7-baf6-9f396883e231"; + boot.initrd.availableKernelModules = [ + "ehci_pci" "ahci" "xhci_pci" "usb_storage" "sd_mod" "sdhci_pci" + ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.initrd.postDeviceCommands = lib.mkAfter '' + mkdir /btrfs_tmp + mount ${config.fileSystems."/".device} /btrfs_tmp + if [[ -e /btrfs_tmp/root ]]; then + mkdir -p /btrfs_tmp/old_roots + timestamp=$(date --date="@$(stat -c %Y /btrfs_tmp/root)" "+%Y-%m-%-d_%H:%M:%S") + mv /btrfs_tmp/root "/btrfs_tmp/old_roots/$timestamp" + fi + + delete_subvolume_recursively() { + IFS=$'\n' + for i in $(btrfs subvolume list -o "$1" | cut -f 9- -d ' '); do + delete_subvolume_recursively "/btrfs_tmp/$i" + done + btrfs subvolume delete "$1" + } + + for i in $(find /btrfs_tmp/old_roots/ -maxdepth 1 -mtime +30); do + delete_subvolume_recursively "$i" + done + + btrfs subvolume create /btrfs_tmp/root + umount /btrfs_tmp + ''; + + networking.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} + diff --git a/hosts/x220/persist.nix b/hosts/x220/persist.nix new file mode 100644 index 0000000..5af2054 --- /dev/null +++ b/hosts/x220/persist.nix @@ -0,0 +1,23 @@ +{ ... }: + +{ + environment.persistence."/nix/persist" = { + hideMounts = true; + directories = [ + "/var/log" + "/var/lib/nixos" + "/var/lib/systemd/coredump" + { + directory = "/var/lib/colord"; + user = "colord"; + group = "colord"; + mode = "u=rwx,g=rx,o="; + } + "/etc/NetworkManager/system-connections" + ]; + files = [ + "/etc/machine-id" + ]; + }; +} + diff --git a/modules/desktop/environments/river.nix b/modules/desktop/environments/river.nix new file mode 100644 index 0000000..2c6f590 --- /dev/null +++ b/modules/desktop/environments/river.nix @@ -0,0 +1,305 @@ +{ pkgs, ...}: + +{ + imports = [ + ../../system/fonts.nix + ../../packages/foot.nix + ]; + + nixpkgs.overlays = [ + (final: prev: { + sandbar = prev.sandbar.overrideAttrs (old: { + src = prev.fetchFromGitHub { + owner = "c4em"; + repo = "sandbar"; + rev = "45a8b6aa20066f1136c9acb7526fa98f208a74b6"; + hash = "sha256-dNYYlm5CEdnvLjskrPJgquptIQpYgU+gxOu+bt+7sbw="; + }; + }); + }) + ]; + + environment.systemPackages = with pkgs; [ + foot # to be replaced with ghostty + wl-clipboard + sandbar + pamixer + pavucontrol + tofi + swaybg + fnott + slurp + wf-recorder + grim + libnotify + seahorse + ]; + + environment.sessionVariables = { + NIXOS_OZONE_WL = 1; + }; + + programs.river.enable = true; + + services.gnome.gnome-keyring.enable = true; + security.pam.services.greetd.enableGnomeKeyring = true; + + systemd.services.greetd.serviceConfig = { + Type = "idle"; + StandardInput = "tty"; + StandardOutput = "tty"; + StandardError = "journal"; + TTYReset = true; + TTYHangup = true; + TTYVTDisallocate = true; + }; + + services.greetd = { + enable = true; + settings = { + default_session = { + command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --asterisks --cmd river"; + user = "greeter"; + }; + }; + }; + + xdg.portal = { + enable = true; + extraPortals = with pkgs; [ + xdg-desktop-portal-gtk + ]; + }; + + home-manager.users.hu = { + home.file."/home/hu/.config/tofi/config" = { + text = '' + width = 100% + height = 100% + border-width = 0 + outline-width = 0 + padding-left = 35% + padding-top = 35% + result-spacing = 25 + num-results = 5 + font = Go Mono Nerd Font + background-color = #000A + ''; + }; + + home.file."/home/hu/.config/river/bar" = { + text = '' + #!/usr/bin/env sh + + FIFO="$XDG_RUNTIME_DIR/sandbar" + [ -e "$FIFO" ] && rm -f "$FIFO" + mkfifo "$FIFO" + + while cat "$FIFO"; do :; done | sandbar \ + -hide-normal-mode \ + -no-layout \ + -font "Go Mono Nerd Font:12" \ + -active-fg-color "#bbbbbb" \ + -active-bg-color "#222222" \ + -inactive-fg-color "#888888" \ + -inactive-bg-color "#111111" \ + -urgent-fg-color "#ab5656" \ + -title-fg-color "#bbbbbb" \ + -title-bg-color "#222222" + ''; + executable = true; + }; + + home.file."/home/hu/.config/river/status" = { + text = '' + #!/usr/bin/env sh + + FIFO="$XDG_RUNTIME_DIR/sandbar" + [ -e "$FIFO" ] || mkfifo "$FIFO" + + bat () { + read -r bat_status < /sys/class/power_supply/BAT0/status + read -r bat_capacity < /sys/class/power_supply/BAT0/capacity + case "$bat_status" in + "Charging") + bat_status="󱟦" + ;; + "Discharging") + bat_status="󱟤" + ;; + "Full") + bat_status="󱟢" + ;; + "Not charging") + bat_status="󱞜" + ;; + "Empty") + bat_status="󱟨" + ;; + + esac + bat="[$bat_status $bat_capacity]" + } + + datetime () { + dat="[$(date "+%H:%M")]" + } + + while true; do + if [ -d /sys/class/power_supply/BAT0/ ]; then + bat + fi + datetime + + echo "all status $bat$dat" > "$FIFO" + sleep 20 + done + ''; + executable = true; + }; + + wayland.windowManager.river = { + enable = true; + systemd.enable = true; + settings = { + map.normal = { + "Super+Shift Return" = "spawn foot"; + "Super+Shift C" = "close"; + "Super J" = "focus-view next"; + "Super K"= "focus-view previous"; + "Super+Shift J" = "swap next"; + "Super+Shift K" = "swap previous"; + "Super Space" = "toggle-float"; + "Super+Shift R" = "spawn ~/.config/river/init"; + "Super+Shift Q" = "exit"; + "Super H" = "send-layout-cmd rivertile 'main-ratio -0.05'"; + "Super L" = "send-layout-cmd rivertile 'main-ratio +0.05'"; + "Super P" = "spawn '$(tofi-drun)'"; + "Super S" = "spawn ~/.config/river/screenshot.sh"; + "Super O" = "spawn ~/.config/river/screencast.sh"; + "Super+Shift O" = "spawn ~/.config/river/screencast.sh audio"; + + "None XF86AudioRaiseVolume" = "spawn 'pamixer -i 5'"; + "None XF86AudioLowerVolume" = "spawn 'pamixer -d 5'"; + "None XF86AudioMute" = "spawn 'pamixer --toggle-mute'"; + "None XF86AudioMicMute" = "spawn 'pamixer --default-source --toggle-mute'"; + }; + + map-pointer.normal = { + "Super BTN_LEFT" = "move-view"; + "Super BTN_RIGHT" = "resize-view"; + }; + + keyboard-layout = "de"; + default-layout = "rivertile"; + rule-add."-app-id" = { + "'bar'" = "csd"; + }; + set-repeat = "50 300"; + spawn = [ + "'swaybg -i /nix/config/assets/wallpapers/river.png'" + "/home/hu/.config/river/status" + "/home/hu/.config/river/bar" + "'fnott --config /home/hu/.config/fnott/fnott.conf.ini'" + "'gnome-keyring-daemon --start'" + ]; + border-width = 1; + border-color-focused = "0x333333"; + border-color-unfocused = "0x000000"; + }; + + extraConfig = " + for i in $(seq 1 9); do + tags=$((1 << ($i - 1))) + riverctl map normal Super $i set-focused-tags $tags + riverctl map normal Super+Shift $i set-view-tags $tags + done + rivertile -main-ratio 0.5 -view-padding 0 -outer-padding 0 + "; + }; + + dconf.settings = { + "org/gnome/desktop/interface" = { + color-scheme = "prefer-dark"; + }; + }; + + gtk = { + enable = true; + theme = { + name = "adw-gtk3-dark"; + package = pkgs.adw-gtk3; + }; + + iconTheme = { + name = "Adwaita"; + package = pkgs.adwaita-icon-theme; + }; + }; + + home.file."/home/hu/.config/river/screenshot.sh" = { + executable = true; + text = '' + #!/usr/bin/env sh + + mkdir -p "$HOME/images/screenshots" + screenshot_file="$HOME/images/screenshots/$(date +%s).png" + area="$(slurp)" + if [ "$area" = "selection cancelled" ]; then + exit 0 + fi + grim -g "$area" "$screenshot_file" + notify-send "Screenshot saved" "$screenshot_file" + wl-copy < "$screenshot_file" + ''; + }; + + home.file."/home/hu/.config/river/screencast.sh" = { + executable = true; + text = '' + #!/usr/bin/env sh + + if [ -n "$(pidof wf-recorder)" ]; then + kill -s SIGINT $(pidof wf-recorder) + notify-send "Screencast saved" "$(cat "$HOME/.cache/last_screencast")" + wl-copy < "$(cat "$HOME/.cache/last_screencast")" + exit 0 + fi + + mkdir -p "$HOME/videos/screencasts/" + screencast_file="$HOME/videos/screencasts/$(date +%s).mp4" + area="$(slurp)" + if [ "$area" = "selection cancelled" ]; then + exit 0 + fi + + echo "$screencast_file" > "$HOME/.cache/last_screencast" + if [ "$1" = "audio" ]; then + wf-recorder -g "$area" --file="$screencast_file" --audio + else + wf-recorder -g "$area" --file="$screencast_file" + fi + ''; + }; + + services.fnott = { + enable = true; + configFile = "/home/hu/.config/fnott/fnott.conf.ini"; + }; + + home.file."/home/hu/.config/fnott/fnott.conf.ini" = { + text = '' + title-font=Go Mono Nerd Font + body-font=Go Mono Nerd Font + + background=111111ff + title-color=888888ff + body-color=888888ff + summary-color=888888ff + + default-timeout=10 + ''; + }; + }; +} + diff --git a/modules/packages/firefox.nix b/modules/packages/firefox.nix index 5380a67..ce9f333 100644 --- a/modules/packages/firefox.nix +++ b/modules/packages/firefox.nix @@ -1,4 +1,9 @@ -{ config, pkgs, ... }: +{ pkgs, ... }: + +# You could theoretically, like I did for a while, maintain this file +# to manage your Firefox and waste your time on this or you could just use +# Firefox accounts and become a functioning member of society. This file is +# now only a starting point and will not be kept up to date with my setup. { environment.persistence."/nix/persist".users.hu.directories = [ @@ -19,8 +24,8 @@ DisableTelemetry = true; DisablePocket = true; DisableFirefoxStudies = true; - DisableFirefoxAccounts = true; - DisableAccounts = true; + DisableFirefoxAccounts = false; + DisableAccounts = false; DontCheckDefaultBrowser = true; OverrideFirstRunPage = ""; OverridePostUpdatePage = ""; @@ -34,23 +39,18 @@ Remove = [ "Bing" "Google" "DuckDuckGo" "Wikipedia (en)" ]; }; - ExtensionSettings = { - "wikipedia@search.mozilla.org" = { - installation_mode = "blocked"; + # https://discourse.nixos.org/t/declare-firefox-extensions-and-settings/36265/17 + ExtensionSettings = with builtins; + let extension = shortId: uuid: { + name = uuid; + value = { + install_url = "https://addons.mozilla.org/en-US/firefox/downloads/latest/${shortId}/latest.xpi"; + installation_mode = "normal_installed"; + }; }; - - "google@search.mozilla.org" = { - installation_mode = "blocked"; - }; - - "bing@search.mozilla.org" = { - installation_mode = "blocked"; - }; - - "ddg@search.mozilla.org" = { - installation_mode = "blocked"; - }; - }; + in listToAttrs [ + (extension "ublock-origin" "uBlock0@raymondhill.net") + ]; "3rdparty".Extensions = { "uBlock0@raymondhill.net".adminSettings = { @@ -62,75 +62,16 @@ }; selectedFilterLists = [ "https://raw.githubusercontent.com/DandelionSprout/adfilt/master/LegitimateURLShortener.txt" - "user-filters" - "ublock-filters" - "ublock-badware" - "ublock-privacy" - "ublock-quick-fixes" - "ublock-unbreak" - "easylist" - "adguard-generic" - "adguard-mobile" - "easyprivacy" - "adguard-spyware" - "adguard-spyware-url" - "block-lan" - "urlhaus-1" - "curben-phishing" - "plowe-0" - "dpollock-0" - "fanboy-cookiemonster" - "ublock-cookies-easylist" - "adguard-cookies" - "ublock-cookies-adguard" - "fanboy-social" - "adguard-social" - "fanboy-thirdparty_social" - "easylist-chat" - "easylist-newsletters" - "easylist-notifications" - "easylist-annoyances" - "adguard-mobile-app-banners" - "adguard-other-annoyances" - "adguard-popup-overlays" - "adguard-widgets" - "ublock-annoyances" - "ALB-0" - "BGR-0" - "CHN-0" - "CZE-0" - "DEU-0" - "EST-0" - "ara-0" - "spa-1" - "spa-0" - "FIN-0" - "FRA-0" - "GRC-0" - "HRV-0" - "HUN-0" - "IDN-0" - "ISR-0" - "IND-0" - "IRN-0" - "ISL-0" - "ITA-0" - "JPN-1" - "KOR-1" - "LTU-0" - "LVA-0" - "MKD-0" - "NLD-0" - "NOR-0" - "POL-0" - "POL-2" - "ROU-1" - "RUS-0" - "SWE-1" - "SVN-0" - "THA-0" - "TUR-0" - "VIE-1" + "user-filters" "ublock-filters" "ublock-badware" "ublock-privacy" "ublock-quick-fixes" + "ublock-unbreak" "easylist" "adguard-generic" "adguard-mobile" "easyprivacy" "adguard-spyware" + "adguard-spyware-url" "block-lan" "urlhaus-1" "curben-phishing" "plowe-0" "dpollock-0" "fanboy-cookiemonster" + "ublock-cookies-easylist" "adguard-cookies" "ublock-cookies-adguard" "fanboy-social" "adguard-social" + "fanboy-thirdparty_social" "easylist-chat" "easylist-newsletters" "easylist-notifications" + "easylist-annoyances" "adguard-mobile-app-banners" "adguard-other-annoyances" "adguard-popup-overlays" + "adguard-widgets" "ublock-annoyances" "ALB-0" "BGR-0" "CHN-0" "CZE-0" "DEU-0" "EST-0" "ara-0" "spa-1" + "spa-0" "FIN-0" "FRA-0" "GRC-0" "HRV-0" "HUN-0" "IDN-0" "ISR-0" "IND-0" "IRN-0" "ISL-0" "ITA-0" + "JPN-1" "KOR-1" "LTU-0" "LVA-0" "MKD-0" "NLD-0" "NOR-0" "POL-0" "POL-2" "ROU-1" "RUS-0" "SWE-1" + "SVN-0" "THA-0" "TUR-0" "VIE-1" ]; }; }; @@ -139,10 +80,23 @@ profiles.shaga = { isDefault = true; search = { - force = true; - default = "Gruble"; - order = [ "Gruble" "Nix Packages" "Nix Options" "Home-manager options" ]; + force = false; + default = "Kagi"; + order = [ "Kagi" "Gruble" "Nix Packages" "Nix Options" "Home-manager options" ]; engines = { + "Kagi" = { + urls = [ + { + template = "https://kagi.com/search"; + params = [ + { name = "q"; value = "{searchTerms}"; } + ]; + } + ]; + iconUpdateURL = "https://kagi.com/favicon.ico"; + updateInterval = 7 * 24 * 60 * 60 * 1000; # Weekly + definedAliases = [ "@k" ]; + }; "Gruble" = { urls = [ { @@ -197,14 +151,6 @@ }; }; - extensions = with config.nur.repos.rycee.firefox-addons; [ - ublock-origin - image-search-options - bitwarden - translate-web-pages - tampermonkey - ]; - settings = { "browser.urlbar.quicksuggest.contextualOptIn.topPosition" = false; "extensions.postDownloadThirdPartyPrompt" = false; @@ -250,10 +196,10 @@ "network.connectivity-service.enabled" = false; "browser.safebrowsing.downloads.remote.enabled" = false; "browser.urlbar.speculativeConnect.enabled" = false; - "browser.search.suggest.enabled" = false; + "browser.search.suggest.enabled" = true; "browser.urlbar.suggest.quicksuggest.nonsponsored" = false; "browser.urlbar.suggest.quicksuggest.sponsored" = false; - "browser.urlbar.suggest.searches" = false; + "browser.urlbar.suggest.searches" = true; "browser.urlbar.suggest.bookmark" = false; "browser.urlbar.suggest.addons" = false; "browser.urlbar.suggest.calculator" = false; @@ -318,93 +264,6 @@ "browser.urlbar.showSearchTerms.enabled" = false; "browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts.havePinned" = ""; "browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts.searchEngines" = ""; - - # https://github.com/elFarto/nvidia-vaapi-driver?tab=readme-ov-file#firefox - "media.ffmpeg.vaapi.enabled" = true; - "media.rdd-ffmpeg.enabled" = true; - "media.av1.enabled" = false; - - # Options for the firefox-ui-fix using Photon - # https://github.com/black7375/Firefox-UI-Fix/blob/master/user.js - "userChrome.tab.connect_to_window" = true; - "userChrome.tab.color_like_toolbar" = true; - "userChrome.tab.lepton_like_padding" = false; - "userChrome.tab.photon_like_padding" = true; - "userChrome.tab.dynamic_separator" = false; - "userChrome.tab.static_separator" = true; - "userChrome.tab.static_separator.selected_accent" = false; - "userChrome.tab.newtab_button_like_tab" = false; - "userChrome.tab.newtab_button_smaller" = true; - "userChrome.tab.newtab_button_proton" = false; - "userChrome.icon.panel_full" = false; - "userChrome.icon.panel_photon" = true; - "userChrome.icon.panel_sparse" = false; - "userChrome.tab.box_shadow" = false; - "userChrome.tab.bottom_rounded_corner" = false; - "userChrome.tab.photon_like_contextline" = true; - "userChrome.rounding.square_tab" = true; - "toolkit.legacyUserProfileCustomizations.stylesheets" = true; - "svg.context-properties.content.enabled" = true; - "browser.compactmode.show" = true; - "browser.newtabpage.activity-stream.improvesearch.handoffToAwesomebar" = false; - "layout.css.has-selector.enabled" = true; - "userChrome.compatibility.theme" = true; - "userChrome.compatibility.os" = true; - "userChrome.theme.built_in_contrast" = true; - "userChrome.theme.system_default" = true; - "userChrome.theme.proton_color" = true; - "userChrome.theme.proton_chrome" = true; - "userChrome.theme.fully_color" = true; - "userChrome.theme.fully_dark" = true; - "userChrome.decoration.cursor" = true; - "userChrome.decoration.field_border" = true; - "userChrome.decoration.download_panel" = true; - "userChrome.decoration.animate" = true; - "userChrome.padding.tabbar_width" = true; - "userChrome.padding.tabbar_height" = true; - "userChrome.padding.toolbar_button" = true; - "userChrome.padding.navbar_width" = true; - "userChrome.padding.urlbar" = true; - "userChrome.padding.bookmarkbar" = true; - "userChrome.padding.infobar" = true; - "userChrome.padding.menu" = true; - "userChrome.padding.bookmark_menu" = true; - "userChrome.padding.global_menubar" = true; - "userChrome.padding.panel" = true; - "userChrome.padding.popup_panel" = true; - "userChrome.tab.multi_selected" = true; - "userChrome.tab.unloaded" = true; - "userChrome.tab.letters_cleary" = true; - "userChrome.tab.close_button_at_hover" = true; - "userChrome.tab.sound_hide_label" = true; - "userChrome.tab.sound_with_favicons" = true; - "userChrome.tab.pip" = true; - "userChrome.tab.container" = true; - "userChrome.tab.crashed" = true; - "userChrome.fullscreen.overlap" = true; - "userChrome.fullscreen.show_bookmarkbar" = true; - "userChrome.icon.library" = true; - "userChrome.icon.panel" = true; - "userChrome.icon.menu" = true; - "userChrome.icon.context_menu" = true; - "userChrome.icon.global_menu" = true; - "userChrome.icon.global_menubar" = true; - "userChrome.icon.1-25px_stroke" = true; - "userContent.player.ui" = true; - "userContent.player.icon" = true; - "userContent.player.noaudio" = true; - "userContent.player.size" = true; - "userContent.player.click_to_play" = true; - "userContent.player.animate" = true; - "userContent.newTab.full_icon" = true; - "userContent.newTab.animate" = true; - "userContent.newTab.pocket_to_last" = true; - "userContent.newTab.searchbar" = true; - "userContent.page.field_border" = true; - "userContent.page.illustration" = true; - "userContent.page.proton_color" = true; - "userContent.page.dark_mode" = true; - "userContent.page.proton" = true; }; }; }; diff --git a/modules/packages/foot.nix b/modules/packages/foot.nix index 545c8c9..2842d72 100644 --- a/modules/packages/foot.nix +++ b/modules/packages/foot.nix @@ -6,7 +6,7 @@ enable = true; settings = { main = { - pad = "6x6 center"; + pad = "2x2 center"; font = "Go Mono Nerd Font:size=12"; };