fixes and extensions
This commit is contained in:
		| @@ -17,3 +17,10 @@ Don't forget to add the `#<host>` to the end of the target to specify the host c | |||||||
|  |  | ||||||
| ### Spectre | ### Spectre | ||||||
| Run `nixos-rebuild switch --flake <target>#spectre` to apply the configuration. | Run `nixos-rebuild switch --flake <target>#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/ | ||||||
| @@ -9,6 +9,7 @@ | |||||||
|     home-manager.inputs.nixpkgs.follows = "nixpkgs"; |     home-manager.inputs.nixpkgs.follows = "nixpkgs"; | ||||||
|     # Managing flatpak apps |     # Managing flatpak apps | ||||||
|     nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.4.1"; |     nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.4.1"; | ||||||
|  |  | ||||||
|   }; |   }; | ||||||
|  |  | ||||||
|   outputs = { |   outputs = { | ||||||
|   | |||||||
| @@ -23,10 +23,7 @@ | |||||||
|   boot.supportedFilesystems = [ "bcachefs" ]; |   boot.supportedFilesystems = [ "bcachefs" ]; | ||||||
|   boot.kernelPackages = pkgs.linuxPackages_latest; |   boot.kernelPackages = pkgs.linuxPackages_latest; | ||||||
|  |  | ||||||
|   networking.hostName = "ArchNix"; # Define your hostname. |   networking.hostName = "Nixtre"; | ||||||
|   # 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. |  | ||||||
|  |  | ||||||
|   # Set your time zone. |   # Set your time zone. | ||||||
|   time.timeZone = "Europe/Berlin"; |   time.timeZone = "Europe/Berlin"; | ||||||
|   | |||||||
| @@ -4,8 +4,10 @@ | |||||||
|     imports = [ |     imports = [ | ||||||
|         ./configuration.nix |         ./configuration.nix | ||||||
|         ./hardware-configuration.nix |         ./hardware-configuration.nix | ||||||
|  |         ../../modules/nixos/flatpak.nix | ||||||
|         ../../modules/nixos/gdm.nix |         ../../modules/nixos/gdm.nix | ||||||
|         ../../modules/nixos/pipewire.nix |         ../../modules/nixos/pipewire.nix | ||||||
|  |         ../../modules/nixos/podman.nix | ||||||
|         ../../utils/binary-cache.nix |         ../../utils/binary-cache.nix | ||||||
|         ../../utils/garbage-collection.nix |         ../../utils/garbage-collection.nix | ||||||
|  |  | ||||||
|   | |||||||
| @@ -7,6 +7,21 @@ | |||||||
|     policies = { |     policies = { | ||||||
|       BlockAboutConfig = true; |       BlockAboutConfig = true; | ||||||
|       DefaultDownloadDirectory = "\${home}/Downloads"; |       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 |     ## Per-profile preferences | ||||||
| @@ -41,14 +56,25 @@ | |||||||
|         # Harden |         # Harden | ||||||
|         "privacy.trackingprotection.enabled" = true; |         "privacy.trackingprotection.enabled" = true; | ||||||
|         "dom.security.https_only_mode" = true; |         "dom.security.https_only_mode" = true; | ||||||
|  |  | ||||||
|  |         # 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; | ||||||
|  |  | ||||||
|  |        | ||||||
|       }; |       }; | ||||||
|      |      | ||||||
|       # # Extensions |  | ||||||
|       # extensions = with pkgs.inputs.firefox-addons; [ |  | ||||||
|       #   ublock-origin |  | ||||||
|       #   keepassxc-browser |  | ||||||
|       #   ghostery |  | ||||||
|       # ]; |  | ||||||
|     }; |     }; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|   | |||||||
| @@ -1,6 +1,22 @@ | |||||||
| {pkgs, ...}: { | {pkgs, ...}:  | ||||||
|   home.packages = with pkgs; [ | { | ||||||
|     vscode |   programs.vscode = { | ||||||
|     flutter |     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 | ||||||
|     ]; |     ]; | ||||||
|  |   }; | ||||||
| } | } | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| {pkgs, ...}: | {pkgs, lib,  ...}: | ||||||
| with lib.hm.gvariant; | with lib.hm.gvariant; | ||||||
| { | { | ||||||
|     ## Gnome extensions |     ## Gnome extensions | ||||||
| @@ -72,43 +72,5 @@ with lib.hm.gvariant; | |||||||
|         show-windows-preview = true; |         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"; |  | ||||||
|                 }; |  | ||||||
|             }; |  | ||||||
|         } |  | ||||||
|     }; |  | ||||||
| } | } | ||||||
							
								
								
									
										8
									
								
								modules/home-manager/obsidian.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								modules/home-manager/obsidian.nix
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | |||||||
|  | {pkgs, ...}:  | ||||||
|  | { | ||||||
|  |     home.packages = [ | ||||||
|  |         pkgs.obsidian | ||||||
|  |     ]; | ||||||
|  |     # obsidian options | ||||||
|  |      | ||||||
|  | } | ||||||
							
								
								
									
										6
									
								
								modules/home-manager/quickshare.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								modules/home-manager/quickshare.nix
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | |||||||
|  | {pkgs, ...}:  | ||||||
|  | { | ||||||
|  |     home.packages = [ | ||||||
|  |         pkgs.rquickshare | ||||||
|  |     ]; | ||||||
|  | } | ||||||
							
								
								
									
										15
									
								
								modules/home-manager/thunderbird.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								modules/home-manager/thunderbird.nix
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | |||||||
|  | {pkgs, ...}:  | ||||||
|  | { | ||||||
|  |  | ||||||
|  |     programs.thunderbird = { | ||||||
|  |         enable = true; | ||||||
|  |         profiles = { | ||||||
|  |             default.isDefault = true; | ||||||
|  |         }; | ||||||
|  |         settings = { | ||||||
|  |             "privacy.donottrackheader.enabled" = true; | ||||||
|  |             # TODO | ||||||
|  |         }; | ||||||
|  |     }; | ||||||
|  |  | ||||||
|  | } | ||||||
							
								
								
									
										9
									
								
								modules/nixos/flatpak.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								modules/nixos/flatpak.nix
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | |||||||
|  | { | ||||||
|  |     config, | ||||||
|  |     lib, | ||||||
|  |     pkgs, | ||||||
|  |     ... | ||||||
|  | }: | ||||||
|  | { | ||||||
|  |     services.flatpak.enable = true; | ||||||
|  | } | ||||||
| @@ -28,12 +28,18 @@ | |||||||
|         gnome.simple-scan |         gnome.simple-scan | ||||||
|         gnome.yelp |         gnome.yelp | ||||||
|         gnome.gnome-disk-utility |         gnome.gnome-disk-utility | ||||||
|         xterm |  | ||||||
|         gnome.gnome-notes |         gnome.gnome-notes | ||||||
|         gnome.gnome-weather |         gnome.gnome-weather | ||||||
|         gnome-secrets |         gnome-secrets | ||||||
|         gnome.gnome-characters |         gnome.gnome-characters | ||||||
|         gnome.gnome-font-viewer |         gnome.gnome-font-viewer | ||||||
|  |         gnome.gnome-system-monitor | ||||||
|  |         gnome-text-editor | ||||||
|  |         gnome-connections | ||||||
|  |         gnome.gnome-clocks | ||||||
|  |         baobab | ||||||
|  |         gnome.gnome-contacts | ||||||
|  |         gnome.gnome-logs | ||||||
|     ]); |     ]); | ||||||
|  |  | ||||||
| } | } | ||||||
|   | |||||||
							
								
								
									
										24
									
								
								modules/nixos/podman.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								modules/nixos/podman.nix
									
									
									
									
									
										Normal file
									
								
							| @@ -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 | ||||||
|  |     ]; | ||||||
|  | } | ||||||
| @@ -6,6 +6,8 @@ with lib.hm.gvariant; | |||||||
|     ../modules/home-manager/browser.nix |     ../modules/home-manager/browser.nix | ||||||
|     ../modules/home-manager/code.nix |     ../modules/home-manager/code.nix | ||||||
|     ../modules/home-manager/flatpaks.nix |     ../modules/home-manager/flatpaks.nix | ||||||
|  |     ../modules/home-manager/thunderbird.nix | ||||||
|  |     ../modules/home-manager/quickshare.nix | ||||||
|     ../modules/home-manager/gnome-shell-customization.nix |     ../modules/home-manager/gnome-shell-customization.nix | ||||||
|   ]; |   ]; | ||||||
|  |  | ||||||
| @@ -39,17 +41,17 @@ with lib.hm.gvariant; | |||||||
|  |  | ||||||
|     "org/gnome/desktop/peripherals/keyboard" = { |     "org/gnome/desktop/peripherals/keyboard" = { | ||||||
|       numlock-state = true; |       numlock-state = true; | ||||||
|     } |     }; | ||||||
|  |  | ||||||
|     "org/gnome/desktop/peripherals/mouse" = { |     "org/gnome/desktop/peripherals/mouse" = { | ||||||
|       natural-scroll = false; |       natural-scroll = false; | ||||||
|       speed = 0.20851063829787231; |       speed = 0.20851063829787231; | ||||||
|     } |     }; | ||||||
|  |  | ||||||
|     "org/gnome/desktop/peripherals/touchpad" = { |     "org/gnome/desktop/peripherals/touchpad" = { | ||||||
|       tap-to-click = true; |       tap-to-click = true; | ||||||
|       two-finger-scrolling-enabled = true; |       two-finger-scrolling-enabled = true; | ||||||
|       speed = 0.16872427983539096; |       speed = 0.16872427983539096; | ||||||
|     } |     }; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user