From 7adff396c41af689681b32876941cacebf7000fe Mon Sep 17 00:00:00 2001 From: Remy Moll Date: Sun, 1 Sep 2024 23:44:48 +0200 Subject: [PATCH] fixes and extensions --- README.md | 7 ++++ flake.nix | 1 + hosts/spectre-x360-2018/configuration.nix | 5 +-- hosts/spectre-x360-2018/default.nix | 2 + modules/home-manager/browser.nix | 40 +++++++++++++++---- modules/home-manager/code.nix | 26 +++++++++--- .../gnome-shell-customization.nix | 40 +------------------ modules/home-manager/obsidian.nix | 8 ++++ modules/home-manager/quickshare.nix | 6 +++ modules/home-manager/thunderbird.nix | 15 +++++++ modules/nixos/flatpak.nix | 9 +++++ modules/nixos/gdm.nix | 8 +++- modules/nixos/podman.nix | 24 +++++++++++ users/remy.nix | 8 ++-- 14 files changed, 140 insertions(+), 59 deletions(-) create mode 100644 modules/home-manager/obsidian.nix create mode 100644 modules/home-manager/quickshare.nix create mode 100644 modules/home-manager/thunderbird.nix create mode 100644 modules/nixos/flatpak.nix create mode 100644 modules/nixos/podman.nix diff --git a/README.md b/README.md index 4f5c8bf..a2a6096 100644 --- a/README.md +++ b/README.md @@ -17,3 +17,10 @@ Don't forget to add the `#` to the end of the target to specify the host c ### Spectre Run `nixos-rebuild switch --flake #spectre` to apply the configuration. + + +## Inspirations +- https://github.com/the-nix-way/dev-templates +- https://fasterthanli.me/series/building-a-rust-service-with-nix/part-10 +- https://codeberg.org/theDoctor/nixOS-config +- https://ianthehenry.com/posts/how-to-learn-nix/profiles/ \ No newline at end of file diff --git a/flake.nix b/flake.nix index 8bb312f..4557413 100644 --- a/flake.nix +++ b/flake.nix @@ -9,6 +9,7 @@ home-manager.inputs.nixpkgs.follows = "nixpkgs"; # Managing flatpak apps nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.4.1"; + }; outputs = { diff --git a/hosts/spectre-x360-2018/configuration.nix b/hosts/spectre-x360-2018/configuration.nix index 47a6176..9f40cc6 100644 --- a/hosts/spectre-x360-2018/configuration.nix +++ b/hosts/spectre-x360-2018/configuration.nix @@ -23,10 +23,7 @@ boot.supportedFilesystems = [ "bcachefs" ]; boot.kernelPackages = pkgs.linuxPackages_latest; - networking.hostName = "ArchNix"; # Define your hostname. - # Pick only one of the below networking options. - # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. - # networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. + networking.hostName = "Nixtre"; # Set your time zone. time.timeZone = "Europe/Berlin"; diff --git a/hosts/spectre-x360-2018/default.nix b/hosts/spectre-x360-2018/default.nix index e435c3e..5be14ab 100644 --- a/hosts/spectre-x360-2018/default.nix +++ b/hosts/spectre-x360-2018/default.nix @@ -4,8 +4,10 @@ imports = [ ./configuration.nix ./hardware-configuration.nix + ../../modules/nixos/flatpak.nix ../../modules/nixos/gdm.nix ../../modules/nixos/pipewire.nix + ../../modules/nixos/podman.nix ../../utils/binary-cache.nix ../../utils/garbage-collection.nix diff --git a/modules/home-manager/browser.nix b/modules/home-manager/browser.nix index 2ea6400..488b6e7 100644 --- a/modules/home-manager/browser.nix +++ b/modules/home-manager/browser.nix @@ -7,6 +7,21 @@ policies = { BlockAboutConfig = true; DefaultDownloadDirectory = "\${home}/Downloads"; + 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"; + }; + }; + in listToAttrs [ + (extension "ublock-origin" "uBlock0@raymondhill.net") + (extension "tabliss" "extension@tabliss.io") + (extension "clearurls" "{74145f27-f039-47ce-a470-a662b129930a}") + (extension "keepassxc-browser" "keepassxc-browser@keepassxc.org") + (extension "ghostery" "firefox@ghostery.com") + ]; }; ## Per-profile preferences @@ -41,14 +56,25 @@ # Harden "privacy.trackingprotection.enabled" = true; "dom.security.https_only_mode" = true; - }; - # # Extensions - # extensions = with pkgs.inputs.firefox-addons; [ - # ublock-origin - # keepassxc-browser - # ghostery - # ]; + # Disable Pocket + "extensions.pocket.enabled" = false; + + # Disable telemetry + "toolkit.telemetry.enabled" = false; + + # Remove bookmarks toolbar + "browser.toolbars.bookmarks.visibility" = "never"; + + # Restore session on startup + "browser.startup.page" = 3; + + # Automatically enable extensions + "extensions.autoDisableScopes" = 0; + + + }; + }; }; } diff --git a/modules/home-manager/code.nix b/modules/home-manager/code.nix index 7929821..93194ff 100644 --- a/modules/home-manager/code.nix +++ b/modules/home-manager/code.nix @@ -1,6 +1,22 @@ -{pkgs, ...}: { - home.packages = with pkgs; [ - vscode - flutter - ]; +{pkgs, ...}: +{ + programs.vscode = { + enable = true; + + extensions = with pkgs.vscode-extensions; [ + # QOL + mhutchie.git-graph + redhat.vscode-yaml + github.copilot + + # python + ms-python.python + ms-python.isort + ms-python.debugpy + ms-python.vscode-pylance + + # Nix language + jnoortheen.nix-ide + ]; + }; } diff --git a/modules/home-manager/gnome-shell-customization.nix b/modules/home-manager/gnome-shell-customization.nix index 81191a0..b16d0ce 100644 --- a/modules/home-manager/gnome-shell-customization.nix +++ b/modules/home-manager/gnome-shell-customization.nix @@ -1,4 +1,4 @@ -{pkgs, ...}: +{pkgs, lib, ...}: with lib.hm.gvariant; { ## Gnome extensions @@ -72,43 +72,5 @@ with lib.hm.gvariant; show-windows-preview = true; }; - dconf.settings."org/gnome/shell/extensions/space-iflow-randomwallpaper" = { - auto-fetch = true; - # TODO: make this user agnostic - favorites-folder = "/home/remy/Pictures/wallpapers"; - hours = 12; - minutes = 0; - sources = [ "1725199048703" "1725199131523" ]; - backend-connection = { - backend-connection-available = true; - clear-history = false; - open-folder = false; - pause-timer = false; - request-new-wallpaper = false; - }; - - sources = { - general = { - "1725199048703" = { - name = "Reddit"; - type = 2; - }; - "1725199131523" = { - name = "Unsplash"; - }; - }; - reddit = { - "1725199048703" = { - allow-sfw = true; - subreddits = "wallpaper,wallpapers,minimalwallpaper"; - }; - }; - unsplash = { - "1725199131523" = { - keyword = "minmal"; - }; - }; - } - }; } \ No newline at end of file diff --git a/modules/home-manager/obsidian.nix b/modules/home-manager/obsidian.nix new file mode 100644 index 0000000..7cdc1cf --- /dev/null +++ b/modules/home-manager/obsidian.nix @@ -0,0 +1,8 @@ +{pkgs, ...}: +{ + home.packages = [ + pkgs.obsidian + ]; + # obsidian options + +} diff --git a/modules/home-manager/quickshare.nix b/modules/home-manager/quickshare.nix new file mode 100644 index 0000000..a7a1630 --- /dev/null +++ b/modules/home-manager/quickshare.nix @@ -0,0 +1,6 @@ +{pkgs, ...}: +{ + home.packages = [ + pkgs.rquickshare + ]; +} diff --git a/modules/home-manager/thunderbird.nix b/modules/home-manager/thunderbird.nix new file mode 100644 index 0000000..af5a096 --- /dev/null +++ b/modules/home-manager/thunderbird.nix @@ -0,0 +1,15 @@ +{pkgs, ...}: +{ + + programs.thunderbird = { + enable = true; + profiles = { + default.isDefault = true; + }; + settings = { + "privacy.donottrackheader.enabled" = true; + # TODO + }; + }; + +} diff --git a/modules/nixos/flatpak.nix b/modules/nixos/flatpak.nix new file mode 100644 index 0000000..d6f130c --- /dev/null +++ b/modules/nixos/flatpak.nix @@ -0,0 +1,9 @@ +{ + config, + lib, + pkgs, + ... +}: +{ + services.flatpak.enable = true; +} diff --git a/modules/nixos/gdm.nix b/modules/nixos/gdm.nix index 388237c..75f6663 100644 --- a/modules/nixos/gdm.nix +++ b/modules/nixos/gdm.nix @@ -28,12 +28,18 @@ gnome.simple-scan gnome.yelp gnome.gnome-disk-utility - xterm gnome.gnome-notes gnome.gnome-weather gnome-secrets gnome.gnome-characters gnome.gnome-font-viewer + gnome.gnome-system-monitor + gnome-text-editor + gnome-connections + gnome.gnome-clocks + baobab + gnome.gnome-contacts + gnome.gnome-logs ]); } diff --git a/modules/nixos/podman.nix b/modules/nixos/podman.nix new file mode 100644 index 0000000..59609e6 --- /dev/null +++ b/modules/nixos/podman.nix @@ -0,0 +1,24 @@ +{ + config, + lib, + pkgs, + ... +}: +{ + virtualisation.containers.enable = true; + virtualisation = { + podman = { + enable = true; + + dockerCompat = false; + + # Required for containers under podman-compose to be able to talk to each other. + defaultNetwork.settings.dns_enabled = true; + }; + }; + + # Useful other development tools + environment.systemPackages = with pkgs; [ + podman-compose # start group of containers for dev + ]; +} diff --git a/users/remy.nix b/users/remy.nix index 33dfc87..b298612 100644 --- a/users/remy.nix +++ b/users/remy.nix @@ -6,6 +6,8 @@ with lib.hm.gvariant; ../modules/home-manager/browser.nix ../modules/home-manager/code.nix ../modules/home-manager/flatpaks.nix + ../modules/home-manager/thunderbird.nix + ../modules/home-manager/quickshare.nix ../modules/home-manager/gnome-shell-customization.nix ]; @@ -39,17 +41,17 @@ with lib.hm.gvariant; "org/gnome/desktop/peripherals/keyboard" = { numlock-state = true; - } + }; "org/gnome/desktop/peripherals/mouse" = { natural-scroll = false; speed = 0.20851063829787231; - } + }; "org/gnome/desktop/peripherals/touchpad" = { tap-to-click = true; two-finger-scrolling-enabled = true; speed = 0.16872427983539096; - } + }; }; }