adding modularity

This commit is contained in:
2024-08-28 00:18:47 +02:00
parent 166bed403e
commit 230144c3b9
15 changed files with 417 additions and 131 deletions

View File

@@ -0,0 +1,55 @@
# See https://github.com/nix-community/home-manager/blob/master/modules/programs/browserpass.nix for a reference
{pkgs, ...}:
{
programs.firefox = {
## Enable the Firefox web browser
enable = true;
## Global preferences
policies = {
BlockAboutConfig = true;
DefaultDownloadDirectory = "\${home}/Downloads";
};
## Per-profile preferences
profiles.default = {
search = {
force = true;
default = "DuckDuckGo";
privateDefault = "DuckDuckGo";
order = ["DuckDuckGo" "Google"];
};
settings = {
"browser.startup.homepage" = "about:home";
# Disable irritating first-run stuff
"browser.disableResetPrompt" = true;
"browser.download.panel.shown" = true;
"browser.feeds.showFirstRunUI" = false;
"browser.messaging-system.whatsNewPanel.enabled" = false;
"browser.rights.3.shown" = true;
"browser.shell.checkDefaultBrowser" = false;
"browser.shell.defaultBrowserCheckCount" = 1;
"browser.startup.homepage_override.mstone" = "ignore";
"browser.uitour.enabled" = false;
"startup.homepage_override_url" = "";
"trailhead.firstrun.didSeeAboutWelcome" = true;
"browser.bookmarks.restore_default_bookmarks" = false;
"browser.bookmarks.addedImportButton" = true;
# Disable "save password" prompt
"signon.rememberSignons" = false;
# Harden
"privacy.trackingprotection.enabled" = true;
"dom.security.https_only_mode" = true;
};
# Extensions
extensions = with pkgs.inputs.firefox-addons; [
ublock-origin
keepassxc-browser
ghostery
];
};
};
}

View File

@@ -0,0 +1,6 @@
{pkgs, ...}: {
home.packages = with pkgs; [
vscode
flutter
];
}

27
modules/nixos/gdm.nix Normal file
View File

@@ -0,0 +1,27 @@
{
config,
lib,
pkgs,
...
}:
{
# this actually does not enable xorg, but it is required for GDM
services.xserver.enable = true;
services.xserver.displayManager.gdm.enable = true;
services.xserver.desktopManager.gnome.enable = true;
# here we set wayland to be used
services.xserver.displayManager.gdm.wayland = true;
## Slim down the gnome dependencies
environment.gnome.excludePackages = (with pkgs; [
gnome-photos
gnome-tour
gnome.geary
gnome.gedit
gnome.tali
gnome.gnome-music
gnome.cheese
])
}

View File

@@ -0,0 +1,26 @@
{ config, pkgs, ... }:
let
networks = [
{
ssid = "MyNetwork1";
psk = "password1";
}
{
ssid = "MyNetwork2";
psk = "password2";
}
{
ssid = "MyNetwork3";
psk = "password3";
}
{
ssid = "MyNetwork4";
psk = "password4";
}
];
in
{
networking.networkmanager.networks = networks;
}

View File

@@ -0,0 +1,15 @@
{
config,
lib,
pkgs,
...
}:
{
# Needs to be explicitly set to false...
hardware.pulseaudio.enable = false;
# OR
services.pipewire = {
enable = true;
pulse.enable = true;
};
}