mirror of
https://codeberg.org/jopejoe1/nix-conf.git
synced 2025-06-07 13:29:22 +02:00
Remove SnowLib
This commit is contained in:
parent
ff44c8a5e0
commit
7fa434b6f8
42 changed files with 363 additions and 1300 deletions
|
@ -1,35 +0,0 @@
|
|||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
#with lib.internal;
|
||||
let
|
||||
cfg = config.custom.desktop.plasma;
|
||||
in
|
||||
{
|
||||
options.custom.desktop.plasma = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to use KDE plasma as the desktop environment.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
services.xserver = {
|
||||
enable = true;
|
||||
|
||||
libinput.enable = true;
|
||||
|
||||
displayManager.sddm = {
|
||||
enable = true;
|
||||
enableHidpi = true;
|
||||
};
|
||||
desktopManager.plasma5 = {
|
||||
enable = true;
|
||||
useQtScaling = true;
|
||||
};
|
||||
};
|
||||
|
||||
programs.kdeconnect = {
|
||||
enable = true;
|
||||
package = pkgs.plasma5Packages.kdeconnect-kde;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,29 +0,0 @@
|
|||
{ options, config, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
#with lib.internal;
|
||||
let cfg = config.custom.hardware.audio;
|
||||
in
|
||||
{
|
||||
options.custom.hardware.audio = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable audio support.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
security.rtkit.enable = true;
|
||||
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa = {
|
||||
enable = true;
|
||||
support32Bit = true;
|
||||
};
|
||||
pulse.enable = true;
|
||||
jack.enable = true;
|
||||
|
||||
wireplumber.enable = true;
|
||||
};
|
||||
|
||||
hardware.pulseaudio.enable = mkForce false;
|
||||
};
|
||||
}
|
|
@ -1,19 +0,0 @@
|
|||
{ options, config, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
#with lib.internal;
|
||||
let cfg = config.custom.hardware.bluetooth;
|
||||
in
|
||||
{
|
||||
options.custom.hardware.bluetooth = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable bluetooth";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
hardware.bluetooth.enable = true;
|
||||
hardware.bluetooth.hsphfpd.enable = !config.services.pipewire.wireplumber.enable;
|
||||
hardware.bluetooth.powerOnBoot = true;
|
||||
|
||||
};
|
||||
}
|
|
@ -1,39 +0,0 @@
|
|||
{ options, config, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
#with lib.internal;
|
||||
let cfg = config.custom.hardware.printing;
|
||||
in
|
||||
{
|
||||
options.custom.hardware.printing = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable printing and scaning";
|
||||
printers = mkOpt (listOf package) [ ] "Custom printing backend packages to install.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
services.printing = {
|
||||
enable = true;
|
||||
webInterface = true;
|
||||
drivers = with pkgs; [
|
||||
hplipWithPlugin
|
||||
] ++ cfg.printers;
|
||||
};
|
||||
|
||||
hardware = {
|
||||
sane = {
|
||||
enable = true;
|
||||
extraBackends = with pkgs; [
|
||||
sane-airscan
|
||||
hplipWithPlugin
|
||||
] ++ cfg.printers;
|
||||
};
|
||||
};
|
||||
|
||||
services.avahi = {
|
||||
enable = true;
|
||||
nssmdns = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,19 +0,0 @@
|
|||
{ options, config, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
#with lib.internal;
|
||||
let cfg = config.custom.hardware.rgb;
|
||||
in
|
||||
{
|
||||
options.custom.hardware.rgb = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable openrgb";
|
||||
motherboard = mkOpt str "intel" "Which motherboard to use"; # Move to common CPU module at some point
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
services.hardware.openrgb.enable = true;
|
||||
services.hardware.openrgb.motherboard = cfg.motherboard;
|
||||
|
||||
};
|
||||
}
|
|
@ -1,55 +0,0 @@
|
|||
{ options, config, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
#with lib.internal;
|
||||
let cfg = config.custom.nix;
|
||||
in
|
||||
{
|
||||
options.custom.nix = with types; {
|
||||
enable = mkBoolOpt true "Whether or not to manage nix configuration.";
|
||||
package = mkOpt package pkgs.nix "Which nix package to use.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
deploy-rs
|
||||
nixfmt
|
||||
nix-index
|
||||
nix-prefetch-git
|
||||
nixpkgs-review
|
||||
nurl
|
||||
nix-init
|
||||
];
|
||||
|
||||
nix = {
|
||||
package = cfg.package;
|
||||
settings = {
|
||||
substituters = [
|
||||
"https://cache.nixos.org"
|
||||
"https://nix-community.cachix.org"
|
||||
"https://prismlauncher.cachix.org"
|
||||
"https://nixos-search.cachix.org"
|
||||
];
|
||||
trusted-public-keys = [
|
||||
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
"prismlauncher.cachix.org-1:GhJfjdP1RFKtFSH3gXTIQCvZwsb2cioisOf91y/bK0w="
|
||||
"nixos-search.cachix.org-1:1HV3YF8az4fywnH+pAd+CXFEdpTXtv9WpoivPi+H70o="
|
||||
];
|
||||
trusted-users = [ "root" ];
|
||||
sandbox = true;
|
||||
require-sigs = true;
|
||||
max-jobs = "auto";
|
||||
auto-optimise-store = true;
|
||||
allowed-users = [ "*" ];
|
||||
experimental-features = [ "nix-command" "flakes" ];
|
||||
warn-dirty = false;
|
||||
};
|
||||
|
||||
# flake-utils-plus
|
||||
generateRegistryFromInputs = true;
|
||||
generateNixPathFromInputs = true;
|
||||
linkInputs = true;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,21 +0,0 @@
|
|||
{ options, config, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
#with lib.internal;
|
||||
let cfg = config.custom.programs.steam;
|
||||
in
|
||||
{
|
||||
options.custom.programs.steam = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable Steam.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
hardware.steam-hardware.enable = true;
|
||||
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true;
|
||||
dedicatedServer.openFirewall = true;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,24 +0,0 @@
|
|||
{ options, config, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
#with lib.internal;
|
||||
let cfg = config.custom.system.boot.uboot;
|
||||
in
|
||||
{
|
||||
options.custom.system.boot.uboot = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable booting on uboot system.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
boot = {
|
||||
# Boot loader configutation
|
||||
loader = {
|
||||
# Use the extlinux boot loader. (NixOS wants to enable GRUB by default)
|
||||
grub.enable = false;
|
||||
# Enables the generation of /boot/extlinux/extlinux.conf
|
||||
generic-extlinux-compatible.enable = true;
|
||||
systemd-boot.configurationLimit = 10;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,22 +0,0 @@
|
|||
{ options, config, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
#with lib.internal;
|
||||
let cfg = config.custom.system.boot.uefi;
|
||||
in
|
||||
{
|
||||
options.custom.system.boot.uefi = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable booting on a uefi system.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
boot.loader.efi.efiSysMountPoint = "/boot/efi";
|
||||
|
||||
boot.loader.systemd-boot.configurationLimit = 10;
|
||||
|
||||
# https://github.com/NixOS/nixpkgs/blob/c32c39d6f3b1fe6514598fa40ad2cf9ce22c3fb7/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix#L66
|
||||
boot.loader.systemd-boot.editor = false;
|
||||
};
|
||||
}
|
|
@ -1,36 +0,0 @@
|
|||
{ options, config, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
#with lib.internal;
|
||||
let
|
||||
cfg = config.custom.system.dns;
|
||||
zones = {
|
||||
"geek" = import ./geek.nix pkgs;
|
||||
"glue" = import ./glue.nix pkgs;
|
||||
};
|
||||
in
|
||||
{
|
||||
options.custom.system.dns = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable creation of dns server.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
services.bind = {
|
||||
enable = true;
|
||||
forwarders = [];
|
||||
zones = {
|
||||
"geek" = {
|
||||
master = false;
|
||||
masters = [ "202.83.95.229" ];
|
||||
file = "${pkgs.opennic-dns-root-data}/geek.zone";
|
||||
};
|
||||
"glue" = {
|
||||
master = false;
|
||||
masters = [ "195.201.99.61" "168.119.153.26" ];
|
||||
file = "${pkgs.opennic-dns-root-data}/glue.zone";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
|
|
@ -1,30 +0,0 @@
|
|||
{ options, config, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
#with lib.internal;
|
||||
let cfg = config.custom.system.fonts;
|
||||
in
|
||||
{
|
||||
options.custom.system.fonts = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to manage fonts.";
|
||||
fonts = mkOpt (listOf package) [ ] "Custom font packages to install.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.variables = {
|
||||
# Enable icons in tooling since we have nerdfonts.
|
||||
LOG_ICONS = "true";
|
||||
};
|
||||
|
||||
fonts.fontDir.enable = true;
|
||||
|
||||
fonts.fonts = with pkgs;
|
||||
[
|
||||
noto-fonts
|
||||
noto-fonts-cjk-sans
|
||||
noto-fonts-cjk-serif
|
||||
noto-fonts-emoji
|
||||
(nerdfonts.override { fonts = [ "Hack" ]; })
|
||||
] ++ cfg.fonts;
|
||||
};
|
||||
}
|
|
@ -1,40 +0,0 @@
|
|||
{ options, config, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
#with lib.internal;
|
||||
let cfg = config.custom.system.locale;
|
||||
in
|
||||
{
|
||||
options.custom.system.locale = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to manage locale settings.";
|
||||
layout = mkOpt str "de" "The Keyboard layout to use.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
i18n = {
|
||||
defaultLocale = "en_NZ.UTF-8";
|
||||
extraLocaleSettings = {
|
||||
LC_ADDRESS = "de_DE.UTF-8";
|
||||
LC_IDENTIFICATION = "de_DE.UTF-8";
|
||||
LC_MEASUREMENT = "de_DE.UTF-8";
|
||||
LC_MONETARY = "de_DE.UTF-8";
|
||||
LC_NAME = "de_DE.UTF-8";
|
||||
LC_NUMERIC = "de_DE.UTF-8";
|
||||
LC_PAPER = "de_DE.UTF-8";
|
||||
LC_TELEPHONE = "de_DE.UTF-8";
|
||||
LC_TIME = "de_DE.UTF-8";
|
||||
LC_CTYPE = "de_DE.UTF-8";
|
||||
LC_COLLATE = "de_DE.UTF-8";
|
||||
LC_MESSAGES = "en_NZ.UTF-8";
|
||||
};
|
||||
};
|
||||
console = {
|
||||
enable = true;
|
||||
keyMap = mkForce cfg.layout;
|
||||
};
|
||||
services.xserver = {
|
||||
layout = cfg.layout;
|
||||
};
|
||||
|
||||
};
|
||||
}
|
|
@ -1,28 +0,0 @@
|
|||
{ options, config, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
#with lib.internal;
|
||||
let cfg = config.custom.system.ssh;
|
||||
in
|
||||
{
|
||||
options.custom.system.ssh = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable ssh.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
ports = [ 22 ];
|
||||
openFirewall = true;
|
||||
allowSFTP = true;
|
||||
settings = {
|
||||
X11forwarding = true;
|
||||
PermitRootLogin = "no";
|
||||
passwordAuthentication = true;
|
||||
kbdInteractiveAuthentication = true;
|
||||
};
|
||||
};
|
||||
environment.systemPackages = with pkgs; [ sshfs ];
|
||||
};
|
||||
}
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
{ options, config, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
#with lib.internal;
|
||||
let cfg = config.custom.system.xdg;
|
||||
in
|
||||
{
|
||||
options.custom.system.xdg = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable xdg.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
xdg = {
|
||||
sounds.enable = true;
|
||||
mime.enable = true;
|
||||
menus.enable = true;
|
||||
icons.enable = true;
|
||||
autostart.enable = true;
|
||||
portal = {
|
||||
enable = true;
|
||||
extraPortals = with pkgs; [ xdg-desktop-portal ];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,27 +0,0 @@
|
|||
{ options, config, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
#with lib.internal;
|
||||
let cfg = config.custom.user.jopejoe1;
|
||||
in
|
||||
{
|
||||
options.custom.user.jopejoe1 = with types; {
|
||||
enable = mkBoolOpt false "Enable the user jopejoe1";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
custom.user.jopejoe1.home.enable = true;
|
||||
users.users.jopejoe1 = {
|
||||
isNormalUser = true;
|
||||
description = "jopejoe1 🚫";
|
||||
initialPassword = "password";
|
||||
extraGroups = [ "wheel"]
|
||||
++ lib.optionals config.custom.hardware.printing.enable [ "scanner" "lp"]
|
||||
++ lib.optional config.networking.networkmanager.enable "networkmanger";
|
||||
packages = with pkgs; [ git kate libsForQt5.ark libreoffice-qt texlive.combined.scheme-full tela-icon-theme ];
|
||||
openssh.authorizedKeys.keys = [
|
||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCUWMJyy2qq2aacVv/J5raugh7UKEmCs+JpagQh30mYqwLV9YQtOfZ+A3Q1qOOLPHTTciLydsfz8K2jBGXEv49uqz9P33aw63RzSaLdcnXhBJRmZvJ3AujLBKDIo24PLOVasogtu01eyQALTg4npX+qlti2UsxLY5O8E5paFJvJ+5rGE3/34c4xA9xthUm7G7SCSt4AhVXwPGB1tqz1KLqGdTJQhvy80laEDSV4tAYpiabmjhNFKGpf8T7afnw1MzKXz+ba6exBcGaJfy2Q24DLztZsW7fsTE1iCdkbcmos9/jUR6NooKFgDr0M4CL2TVZB5pECSiOev06GMnLt+vpxjFL29YeGMaVMmNCedkL1z1mftbXLEL7934kEK9FpEpSwzbRTJ7iPvfYZuTHiT6fi2Ep7n+zzRS+/ZgDUDLSqZYEBmE4dO4LgcqzOsJo5EgoyLGoqQ4OpvPRY12T3rCWUfEgOCXgToF0WlUyxCaPZCfvUjM4LXNlIy/dtivMxMs8= jopejoe1@yokai"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
Binary file not shown.
|
@ -1,216 +0,0 @@
|
|||
{ options, config, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
#with lib.internal;
|
||||
let
|
||||
cfg = config.custom.user.jopejoe1.home;
|
||||
hcfg = config.home-manager.users.jopejoe1;
|
||||
in
|
||||
{
|
||||
options.custom.user.jopejoe1.home = with types; {
|
||||
enable = mkBoolOpt false "Enable the home-manger for jopejoe1";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home-manager.users.jopejoe1 = {
|
||||
home = {
|
||||
# Basic information for home-manager
|
||||
username = "jopejoe1";
|
||||
homeDirectory = "/home/${hcfg.home.username}";
|
||||
|
||||
# Enviroment variables
|
||||
sessionVariables = {
|
||||
XCOMPOSECACHE = "${hcfg.xdg.cacheHome}/X11/xcompos";
|
||||
XAUTHORITY = "$XDG_RUNTIME_DIR/Xauthority";
|
||||
};
|
||||
|
||||
stateVersion = config.system.stateVersion;
|
||||
};
|
||||
|
||||
accounts.email.accounts = {
|
||||
main = {
|
||||
address = "johannes@joens.email";
|
||||
flavor = "gmail.com";
|
||||
primary = true;
|
||||
realName = "Johannes Joens";
|
||||
thunderbird.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
# XDG base dirs
|
||||
xdg = {
|
||||
enable = true;
|
||||
mime.enable = true;
|
||||
cacheHome = "${hcfg.home.homeDirectory}/.cache";
|
||||
configHome = "${hcfg.home.homeDirectory}/.config";
|
||||
dataHome = "${hcfg.home.homeDirectory}/.local/share";
|
||||
stateHome = "${hcfg.home.homeDirectory}/.local/state";
|
||||
userDirs = {
|
||||
enable = true;
|
||||
createDirectories = false;
|
||||
desktop = "${hcfg.home.homeDirectory}/Desktop";
|
||||
documents = "${hcfg.home.homeDirectory}/Documents";
|
||||
download = "${hcfg.home.homeDirectory}/Downloads";
|
||||
music = "${hcfg.home.homeDirectory}/Music";
|
||||
pictures = "${hcfg.home.homeDirectory}/Pictures";
|
||||
publicShare = "${hcfg.home.homeDirectory}/Public";
|
||||
templates = "${hcfg.home.homeDirectory}/Templates";
|
||||
videos = "${hcfg.home.homeDirectory}/Videos";
|
||||
};
|
||||
};
|
||||
programs = {
|
||||
home-manager.enable = true;
|
||||
git = {
|
||||
enable = true;
|
||||
package = pkgs.gitAndTools.gitFull;
|
||||
userEmail = "johannes@joens.email";
|
||||
userName = "jopejoe1";
|
||||
};
|
||||
direnv = {
|
||||
enable = true;
|
||||
nix-direnv.enable = true;
|
||||
};
|
||||
firefox = {
|
||||
enable = true;
|
||||
package = pkgs.wrapFirefox pkgs.firefox-devedition-unwrapped {
|
||||
extraPolicies = {
|
||||
AppAutoUpdate = false;
|
||||
BackgroundAppUpdate = false;
|
||||
CaptivePortal = false;
|
||||
DefaultDownloadDirectory = "${hcfg.xdg.userDirs.download}";
|
||||
DisableAppUpdate = true;
|
||||
DisableFirefoxAccounts = true;
|
||||
DisableFirefoxStudies = true;
|
||||
DisableForgetButton = true;
|
||||
DisableFormHistory = true;
|
||||
DisableMasterPasswordCreation = true;
|
||||
DisablePasswordReveal = true;
|
||||
DisablePocket = true;
|
||||
DisableSetDesktopBackground = true;
|
||||
DisableSystemAddonUpdate = true;
|
||||
DisableTelemetry = true;
|
||||
DontCheckDefaultBrowser = true;
|
||||
ExtensionUpdate = false;
|
||||
HardwareAcceleration = true;
|
||||
ManualAppUpdateOnly = true;
|
||||
NoDefaultBookmarks = true;
|
||||
OfferToSaveLogins = false;
|
||||
OfferToSaveLoginsDefault = false;
|
||||
PasswordManagerEnabled = false;
|
||||
PrimaryPassword = false;
|
||||
SearchBar = "unified";
|
||||
StartDownloadsInTempDirectory = true;
|
||||
EnableTrackingProtection = {
|
||||
Value = true;
|
||||
EmailTracking = true;
|
||||
Cryptomining = true;
|
||||
Fingerprinting = true;
|
||||
Locked = true;
|
||||
};
|
||||
FirefoxHome = {
|
||||
Highlights = false;
|
||||
Pocket = false;
|
||||
Search = true;
|
||||
Snippets = false;
|
||||
SponsoredPocket = false;
|
||||
SponsoredTopSites = false;
|
||||
TopSites = true;
|
||||
Locked = true;
|
||||
};
|
||||
UserMessaging = {
|
||||
ExtensionRecommendations = false;
|
||||
SkipOnboarding = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
profiles = {
|
||||
default = {
|
||||
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
|
||||
ublock-origin
|
||||
privacy-badger
|
||||
bitwarden
|
||||
clearurls
|
||||
decentraleyes
|
||||
duckduckgo-privacy-essentials
|
||||
ghostery
|
||||
libredirect
|
||||
privacy-badger
|
||||
languagetool
|
||||
#fastforward
|
||||
return-youtube-dislikes
|
||||
sponsorblock
|
||||
augmented-steam
|
||||
steam-database
|
||||
refined-github
|
||||
plasma-integration
|
||||
#bypass-paywalls-clean
|
||||
lovely-forks
|
||||
search-by-image
|
||||
skip-redirect
|
||||
terms-of-service-didnt-read
|
||||
unpaywall
|
||||
wappalyzer
|
||||
wayback-machine
|
||||
modrinthify
|
||||
];
|
||||
id = 0;
|
||||
isDefault = true;
|
||||
name = "default";
|
||||
search = {
|
||||
default = "DuckDuckGo";
|
||||
force = true;
|
||||
engines = {
|
||||
"Nix Packages" = {
|
||||
urls = [{
|
||||
template = "https://search.nixos.org/packages";
|
||||
params = [
|
||||
{ name = "type"; value = "packages"; }
|
||||
{ name = "query"; value = "{searchTerms}"; }
|
||||
];
|
||||
}];
|
||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
definedAliases = [ "@np" ];
|
||||
};
|
||||
"NixOS Wiki" = {
|
||||
urls = [{
|
||||
template = "https://nixos.wiki/index.php";
|
||||
params = [
|
||||
{ name = "search"; value = "{searchTerms}"; }
|
||||
];
|
||||
}];
|
||||
icon = "${hcfg.programs.firefox.profiles.default.search.engines."Nix Packages".icon}";
|
||||
definedAliases = [ "@nw" ];
|
||||
};
|
||||
"Bing".metaData.hidden = true;
|
||||
"Google".metaData.hidden = true;
|
||||
"eBay".metaData.hidden = true;
|
||||
"Amazon.de".metaData.hidden = true;
|
||||
"Wikipedia (en)".metaData.alias = "@wiki";
|
||||
};
|
||||
};
|
||||
settings = {
|
||||
"privacy.resistFingerprinting" = true;
|
||||
"privacy.trackingprotection.fingerprinting.enabled" = true;
|
||||
"privacy.trackingprotection.cryptomining.enabled" = true;
|
||||
"dom.event.clipboardevents.enabled" = false;
|
||||
"dom.battery.enabled" = false;
|
||||
"browser.safebrowsing.phishing.enabled" = false;
|
||||
"browser.safebrowsing.malware.enabled" = false;
|
||||
"browser.zoom.siteSpecific" = true;
|
||||
"config.trim_on_minimize" = true;
|
||||
"pdfjs.annotationEditorMode" = 0;
|
||||
"pdfjs.annotationmode" = 2;
|
||||
};
|
||||
};
|
||||
dev-edition-default = {
|
||||
id = 1;
|
||||
isDefault = false;
|
||||
name = "dev-edition-default";
|
||||
path = "default";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,261 +0,0 @@
|
|||
{ options, config, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
#with lib.internal;
|
||||
let
|
||||
cfg = config.custom.user.jopejoe1.home;
|
||||
hcfg = config.home-manager.users.jopejoe1;
|
||||
in
|
||||
{
|
||||
options.custom.user.jopejoe1.home = with types; {
|
||||
enable = mkBoolOpt false "Enable the home-manger for jopejoe1";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home-manager.users.jopejoe1 = {
|
||||
home = {
|
||||
# Basic information for home-manager
|
||||
username = "jopejoe1";
|
||||
homeDirectory = "/home/${hcfg.home.username}";
|
||||
|
||||
# Enviroment variables
|
||||
sessionVariables = {
|
||||
XCOMPOSECACHE = "${hcfg.xdg.cacheHome}/X11/xcompos";
|
||||
XAUTHORITY = "$XDG_RUNTIME_DIR/Xauthority";
|
||||
};
|
||||
|
||||
stateVersion = config.system.stateVersion;
|
||||
};
|
||||
|
||||
accounts.email.accounts = {
|
||||
main = {
|
||||
address = "johannes@joens.email";
|
||||
flavor = "gmail.com";
|
||||
primary = true;
|
||||
realName = "Johannes Joens";
|
||||
thunderbird.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
# XDG base dirs
|
||||
xdg = {
|
||||
enable = true;
|
||||
mime.enable = true;
|
||||
cacheHome = "${hcfg.home.homeDirectory}/.cache";
|
||||
configHome = "${hcfg.home.homeDirectory}/.config";
|
||||
dataHome = "${hcfg.home.homeDirectory}/.local/share";
|
||||
stateHome = "${hcfg.home.homeDirectory}/.local/state";
|
||||
userDirs = {
|
||||
enable = true;
|
||||
createDirectories = false;
|
||||
desktop = "${hcfg.home.homeDirectory}/Desktop";
|
||||
documents = "${hcfg.home.homeDirectory}/Documents";
|
||||
download = "${hcfg.home.homeDirectory}/Downloads";
|
||||
music = "${hcfg.home.homeDirectory}/Music";
|
||||
pictures = "${hcfg.home.homeDirectory}/Pictures";
|
||||
publicShare = "${hcfg.home.homeDirectory}/Public";
|
||||
templates = "${hcfg.home.homeDirectory}/Templates";
|
||||
videos = "${hcfg.home.homeDirectory}/Videos";
|
||||
};
|
||||
};
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
gtk2 = {
|
||||
configLocation = "${hcfg.xdg.configHome}/gtk-2.0/gtkrc";
|
||||
};
|
||||
gtk3 = {
|
||||
extraConfig = {
|
||||
gtk-application-prefer-dark-theme = true;
|
||||
gtk-button-images = true;
|
||||
gtk-decoration-layout = "icon:minimize,maximize,close";
|
||||
gtk-enable-animations = true;
|
||||
gtk-menu-images = true;
|
||||
gtk-modules = "colorreload-gtk-module";
|
||||
gtk-primary-button-warps-slider = false;
|
||||
gtk-toolbar-style = 3;
|
||||
};
|
||||
};
|
||||
gtk4 = {
|
||||
extraConfig = {
|
||||
gtk-application-prefer-dark-theme = true;
|
||||
gtk-decoration-layout = "icon:minimize,maximize,close";
|
||||
gtk-enable-animations = true;
|
||||
gtk-primary-button-warps-slider = false;
|
||||
};
|
||||
};
|
||||
cursorTheme = {
|
||||
package = pkgs.libsForQt5.breeze-icons;
|
||||
name = "breeze_cursors";
|
||||
size = 24;
|
||||
};
|
||||
font = {
|
||||
package = pkgs.noto-fonts;
|
||||
name = "Noto Sans";
|
||||
size = 10;
|
||||
};
|
||||
theme = {
|
||||
package = pkgs.libsForQt5.breeze-gtk;
|
||||
name = "breeze-dark";
|
||||
};
|
||||
iconTheme = {
|
||||
package = pkgs.tela-icon-theme;
|
||||
name = "Tela-purple";
|
||||
};
|
||||
};
|
||||
|
||||
# Let Home Manager install and manage itself.
|
||||
programs = {
|
||||
home-manager.enable = true;
|
||||
git = {
|
||||
enable = true;
|
||||
package = pkgs.gitAndTools.gitFull;
|
||||
userEmail = "johannes@joens.email";
|
||||
userName = "jopejoe1";
|
||||
};
|
||||
bash = {
|
||||
enable = true;
|
||||
historyFile = "${hcfg.xdg.stateHome}/bash/history";
|
||||
shellAliases = {
|
||||
gc = "nix store gc";
|
||||
rb = "git -C /etc/nixos pull && nix flake update /etc/nixos/ && nixos-rebuild switch && git -C /etc/nixos add . && git -C /etc/nixos commit -m 'Updated flake.lock' && git -C /etc/nixos push";
|
||||
};
|
||||
};
|
||||
zsh = {
|
||||
enable = true;
|
||||
shellAliases = hcfg.programs.bash.shellAliases;
|
||||
enableAutosuggestions = true;
|
||||
enableCompletion = true;
|
||||
enableSyntaxHighlighting = true;
|
||||
enableVteIntegration = true;
|
||||
dotDir = ".config/zsh";
|
||||
};
|
||||
fish.shellAbbrs = hcfg.programs.bash.shellAliases;
|
||||
thunderbird = {
|
||||
enable = false;
|
||||
profiles = {
|
||||
default = {
|
||||
isDefault = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
firefox = {
|
||||
enable = true;
|
||||
package = pkgs.wrapFirefox pkgs.firefox-unwrapped {
|
||||
extraPolicies = {
|
||||
AppAutoUpdate = false;
|
||||
BackgroundAppUpdate = false;
|
||||
DisableAppUpdate = true;
|
||||
CaptivePortal = false;
|
||||
DisableFirefoxStudies = true;
|
||||
DisablePocket = true;
|
||||
DisableTelemetry = true;
|
||||
DisableFirefoxAccounts = true;
|
||||
DisableFormHistory = true;
|
||||
DefaultDownloadDirectory = "${hcfg.xdg.userDirs.download}";
|
||||
DontCheckDefaultBrowser = true;
|
||||
ExtensionUpdate = false;
|
||||
NoDefaultBookmarks = true;
|
||||
PasswordManagerEnabled = false;
|
||||
OfferToSaveLogins = false;
|
||||
OfferToSaveLoginsDefault = false;
|
||||
EnableTrackingProtection = {
|
||||
Value = true;
|
||||
Cryptomining = true;
|
||||
Fingerprinting = true;
|
||||
};
|
||||
FirefoxHome = {
|
||||
Search = true;
|
||||
Pocket = false;
|
||||
SponsoredPocket = false;
|
||||
Snippets = false;
|
||||
TopSites = true;
|
||||
SponsoredTopSites = false;
|
||||
Highlights = false;
|
||||
};
|
||||
UserMessaging = {
|
||||
ExtensionRecommendations = false;
|
||||
SkipOnboarding = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
profiles = {
|
||||
default = {
|
||||
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
|
||||
ublock-origin
|
||||
privacy-badger
|
||||
bitwarden
|
||||
clearurls
|
||||
decentraleyes
|
||||
duckduckgo-privacy-essentials
|
||||
ghostery
|
||||
libredirect
|
||||
privacy-badger
|
||||
languagetool
|
||||
fastforward
|
||||
return-youtube-dislikes
|
||||
sponsorblock
|
||||
augmented-steam
|
||||
steam-database
|
||||
refined-github
|
||||
plasma-integration
|
||||
#bypass-paywalls-clean
|
||||
lovely-forks
|
||||
search-by-image
|
||||
skip-redirect
|
||||
terms-of-service-didnt-read
|
||||
unpaywall
|
||||
wappalyzer
|
||||
wayback-machine
|
||||
modrinthify
|
||||
];
|
||||
id = 0;
|
||||
isDefault = true;
|
||||
name = "default";
|
||||
search = {
|
||||
default = "DuckDuckGo";
|
||||
force = true;
|
||||
engines = {
|
||||
"Nix Packages" = {
|
||||
urls = [{
|
||||
template = "https://search.nixos.org/packages";
|
||||
params = [
|
||||
{ name = "type"; value = "packages"; }
|
||||
{ name = "query"; value = "{searchTerms}"; }
|
||||
];
|
||||
}];
|
||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
definedAliases = [ "@np" ];
|
||||
};
|
||||
"NixOS Wiki" = {
|
||||
urls = [{ template = "https://nixos.wiki/index.php?search={searchTerms}"; }];
|
||||
icon = "${hcfg.programs.firefox.profiles.default.search.engines."Nix Packages".icon}";
|
||||
definedAliases = [ "@nw" ];
|
||||
};
|
||||
"Bing".metaData.hidden = true;
|
||||
"Google".metaData.hidden = true;
|
||||
"eBay".metaData.hidden = true;
|
||||
"Amazon.de".metaData.hidden = true;
|
||||
"Wikipedia (en)".metaData.alias = "@wiki";
|
||||
};
|
||||
};
|
||||
settings = {
|
||||
"privacy.resistFingerprinting" = true;
|
||||
"privacy.trackingprotection.fingerprinting.enabled" = true;
|
||||
"privacy.trackingprotection.cryptomining.enabled" = true;
|
||||
"dom.event.clipboardevents.enabled" = false;
|
||||
"dom.battery.enabled" = false;
|
||||
"browser.safebrowsing.phishing.enabled" = false;
|
||||
"browser.safebrowsing.malware.enabled" = false;
|
||||
"browser.zoom.siteSpecific" = true;
|
||||
"config.trim_on_minimize" = true;
|
||||
"pdfjs.annotationEditorMode" = 0;
|
||||
"pdfjs.annotationmode" = 2;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
{ options, config, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
#with lib.internal;
|
||||
let cfg = config.custom.user.root;
|
||||
in
|
||||
{
|
||||
options.custom.user.root = with types; {
|
||||
enable = mkBoolOpt false "Enable the user root";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
custom.user.root.home.enable = true;
|
||||
};
|
||||
}
|
|
@ -1,72 +0,0 @@
|
|||
{ options, config, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
#with lib.internal;
|
||||
let
|
||||
cfg = config.custom.user.root.home;
|
||||
hcfg = config.home-manager.users.root;
|
||||
in
|
||||
{
|
||||
options.custom.user.root.home = with types; {
|
||||
enable = mkBoolOpt false "Enable the home-manger for root";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home-manager.users.root = {
|
||||
home = {
|
||||
# Basic information for home-manager
|
||||
username = "root";
|
||||
homeDirectory = "/${hcfg.home.username}";
|
||||
|
||||
# Enviroment variables
|
||||
sessionVariables = {
|
||||
XCOMPOSECACHE = "${hcfg.xdg.cacheHome}/X11/xcompos";
|
||||
XAUTHORITY = "$XDG_RUNTIME_DIR/Xauthority";
|
||||
};
|
||||
|
||||
stateVersion = config.system.stateVersion;
|
||||
};
|
||||
|
||||
xdg = {
|
||||
enable = true;
|
||||
mime.enable = true;
|
||||
cacheHome = "${hcfg.home.homeDirectory}/.cache";
|
||||
configHome = "${hcfg.home.homeDirectory}/.config";
|
||||
dataHome = "${hcfg.home.homeDirectory}/.local/share";
|
||||
stateHome = "${hcfg.home.homeDirectory}/.local/state";
|
||||
userDirs = {
|
||||
enable = true;
|
||||
createDirectories = false;
|
||||
desktop = "${hcfg.home.homeDirectory}/Desktop";
|
||||
documents = "${hcfg.home.homeDirectory}/Documents";
|
||||
download = "${hcfg.home.homeDirectory}/Downloads";
|
||||
music = "${hcfg.home.homeDirectory}/Music";
|
||||
pictures = "${hcfg.home.homeDirectory}/Pictures";
|
||||
publicShare = "${hcfg.home.homeDirectory}/Public";
|
||||
templates = "${hcfg.home.homeDirectory}/Templates";
|
||||
videos = "${hcfg.home.homeDirectory}/Videos";
|
||||
};
|
||||
};
|
||||
|
||||
programs = {
|
||||
home-manager.enable = true;
|
||||
git = {
|
||||
enable = true;
|
||||
package = pkgs.gitAndTools.gitFull;
|
||||
userEmail = "johannes@joens.email";
|
||||
userName = "jopejoe1";
|
||||
};
|
||||
bash = {
|
||||
enable = true;
|
||||
historyFile = "${hcfg.xdg.stateHome}/bash/history";
|
||||
shellAliases = {
|
||||
gc = "nix store gc";
|
||||
rb = "git -C /etc/nixos pull && nix flake update /etc/nixos/ && sudo nixos-rebuild switch && git -C /etc/nixos add . && git -C /etc/nixos commit -m 'Updated flake.lock' && git -C /etc/nixos push";
|
||||
};
|
||||
};
|
||||
zsh.shellAliases = hcfg.programs.bash.shellAliases;
|
||||
fish.shellAbbrs = hcfg.programs.bash.shellAliases;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue