Move Nix files back to the root of the project

This commit is contained in:
Oliver Davies 2025-03-29 23:19:06 +00:00
parent 52044d9995
commit 087153a16d
223 changed files with 12 additions and 12 deletions

12
home/common/default.nix Normal file
View file

@ -0,0 +1,12 @@
{
outputs,
hostname,
username,
...
}:
{
imports = builtins.attrValues outputs.homeManagerModules ++ [
../../home/${username}/hosts/${hostname}.nix
];
}

103
home/opdavies/default.nix Normal file
View file

@ -0,0 +1,103 @@
{
config,
headless ? false,
hostname,
inputs,
outputs,
self,
system,
username,
...
}:
let
pkgs = import inputs.nixpkgs {
inherit system;
config.allowUnfree = true;
overlays = [
outputs.overlays.additions
outputs.overlays.stable-packages
];
};
inherit (config.xdg)
cacheHome
configHome
dataHome
stateHome
;
inherit (pkgs) lib;
shared-config = import "${self}/lib/shared/home-manager.nix" {
inherit
config
hostname
inputs
lib
pkgs
self
username
;
};
shared-packages = import "${self}/lib/shared/home-manager-packages.nix" {
inherit
headless
inputs
pkgs
username
;
};
in
{
imports =
[
../common
shared-config
./modules
]
++ pkgs.lib.optionals (!headless) [
./desktop
];
home.packages = shared-packages;
home.sessionVariables = {
EDITOR = "nvim";
IMAPFILTER_HOME = "${configHome}/imapfilter";
LANG = "en_GB.UTF-8";
LC_ALL = "en_GB.UTF-8";
LC_CTYPE = "en_GB.UTF-8";
PASSWORD_STORE_DIR = "${dataHome}/pass";
PATH = lib.concatStringsSep ":" [
"$PATH"
"$HOME/go/bin"
"./vendor/bin"
"./node_modules/.bin"
];
PULUMI_SKIP_UPDATE_CHECK = "true";
W3M_DIR = "${stateHome}/w3m";
WGETRC = "${configHome}/wgetrc";
XDG_CONFIG_HOME = config.xdg.configHome;
XDG_DATA_HOME = dataHome;
XDG_STATE_HOME = stateHome;
};
xdg = {
configFile = {
"${config.home.sessionVariables.WGETRC}".text = ''
hsts-file = "${cacheHome}/wget-hsts"
'';
};
userDirs = {
enable = true;
extraConfig = {
XDG_REPOS_DIR = "${config.home.homeDirectory}/Code";
};
};
};
}

View file

@ -0,0 +1,24 @@
{ pkgs, ... }:
{
imports = [
./firefox.nix
./qutebrowser.nix
];
home.packages = with pkgs; [
build-glove80
gscan2pdf
kdePackages.okular
meslo-lg
obs-studio
pamixer
pavucontrol
xcape
xsel
];
programs = {
yazi.enable = true;
};
}

View file

@ -0,0 +1,110 @@
{ pkgs, ... }:
{
programs.firefox.enable = false;
programs.librewolf = {
enable = true;
languagePacks = [ "en-GB" ];
policies = {
CaptivePortal = false;
DisableFirefoxAccounts = true;
DisableFirefoxStudies = true;
DisablePocket = true;
DisableTelemetry = true;
EnableTrackingProtection = {
Cryptomining = true;
Fingerprinting = true;
Value = true;
};
ExtensionSettings = {
"jid1-ZAdIEUB7XOzOJw@jetpack" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/duckduckgo-for-firefox/latest.xpi";
installation_mode = "force_installed";
};
"uBlock0@raymondhill.net" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
installation_mode = "force_installed";
};
};
FirefoxHome = {
Highlights = false;
Pocket = false;
Search = true;
Snippets = false;
SponsoredPocket = false;
SponsoredTopSites = false;
TopSites = true;
};
FirefoxSuggest = {
ImproveSuggest = false;
SponsoredSuggestions = false;
WebSuggestions = false;
};
NoDefaultBookmarks = true;
OfferToSaveLogins = false;
OfferToSaveLoginsDefault = false;
PasswordManagerEnabled = false;
Preferences = {
"cookiebanners.service.mode" = 2; # Block cookie banners
"cookiebanners.service.mode.privateBrowsing" = 2; # Block cookie banners in private browsing
"privacy.donottrackheader.enabled" = true;
"privacy.fingerprintingProtection" = true;
"privacy.resistFingerprinting" = true;
"privacy.trackingprotection.emailtracking.enabled" = true;
"privacy.trackingprotection.enabled" = true;
"privacy.trackingprotection.fingerprinting.enabled" = true;
"privacy.trackingprotection.socialtracking.enabled" = true;
};
HardwareAcceleration = true;
TranslateEnabled = true;
UserMessaging = {
ExtensionRecommendations = false;
UrlbarInterventions = false;
SkipOnboarding = true;
};
};
profiles = {
default = {
extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [
awesome-rss
bitwarden
darkreader
onetab
tree-style-tab
ublock-origin
videospeed
vimium
web-developer
];
search = {
default = "ddg";
force = true;
privateDefault = "ddg";
};
settings = {
"browser.search.isUS" = false;
"browser.search.region" = "GB";
"distribution.searchplugins.defaultLocale" = "en-GB";
"general.useragent.locale" = "en-GB";
"intl.accept_languages" = "en-GB, en";
"intl.regional_prefs.use_os_locales" = true;
};
};
};
};
}

View file

@ -0,0 +1,32 @@
{ lib, ... }:
{
programs.qutebrowser = {
enable = true;
searchEngines = {
dp = "https://www.drupal.org/project/{}";
du = "https://www.drupal.org/u/{}";
gh = "https://github.com/search?q={}";
mn = "https://mynixos.com/search?q={}";
nx = "https://search.nixos.org/packages?query={}";
};
settings = {
colors.webpage.darkmode.enabled = true;
};
keyBindings = {
normal = {
"<Ctrl-d>" = "config-cycle colors.webpage.darkmode.enabled true false";
"xb" = "config-cycle statusbar.show always never";
"xt" = "config-cycle tabs.show always never";
"xx" = lib.mkMerge [
"config-cycle statusbar.show always never"
"config-cycle tabs.show always never"
];
};
};
};
}

View file

@ -0,0 +1,14 @@
{
homeManagerModules = {
direnv.enable = true;
neovim.enable = true;
notes = {
enable = true;
directory = "$HOME/Documents/wiki/tfw-notes";
};
tmux.enable = true;
tmux-sessionizer.enable = true;
};
}

View file

@ -0,0 +1,18 @@
{ ... }:
{
homeManagerModules = {
direnv.enable = true;
discord.enable = true;
flameshot.enable = true;
gimp.enable = true;
gtk.enable = true;
handbrake.enable = true;
kdenlive.enable = true;
mpv.enable = true;
pocket-casts.enable = true;
slack.enable = true;
tmux-sessionizer.enable = true;
zoom.enable = true;
};
}

View file

@ -0,0 +1,8 @@
{ ... }:
{
homeManagerModules = {
direnv.enable = true;
dwm.enable = true;
};
}

View file

@ -0,0 +1,42 @@
{ pkgs, ... }:
{
homeManagerModules = {
bluetuith.enable = true;
direnv.enable = true;
discord.enable = true;
dwm.enable = true;
flameshot.enable = true;
gimp.enable = true;
gtk.enable = true;
handbrake.enable = true;
kdenlive.enable = true;
mpv.enable = true;
neovim.enable = true;
newsboat.enable = true;
notes = {
enable = true;
directory = "$HOME/Documents/wiki/notes";
};
pocket-casts.enable = true;
slack.enable = true;
tmux.enable = true;
tmux-sessionizer.enable = true;
zoom.enable = true;
};
home.packages = with pkgs; [
backup-websites
displayselect
isync
upload-to-files
];
programs.neomutt = {
enable = true;
vimKeys = true;
};
}

View file

@ -0,0 +1,40 @@
{ pkgs, ... }:
{
homeManagerModules = {
bluetuith.enable = true;
direnv.enable = true;
discord.enable = true;
dwm.enable = true;
flameshot.enable = true;
gimp.enable = true;
gtk.enable = true;
handbrake.enable = true;
kdenlive.enable = true;
mpv.enable = true;
neovim.enable = true;
notes = {
enable = true;
directory = "$HOME/Documents/wiki/notes";
};
pocket-casts.enable = true;
slack.enable = true;
tmux.enable = true;
tmux-sessionizer.enable = true;
zoom.enable = true;
};
home.packages = with pkgs; [
displayselect
isync
upload-to-files
];
programs.neomutt = {
enable = true;
vimKeys = true;
};
}

View file

@ -0,0 +1,6 @@
{
imports = [
./node.nix
./ranger.nix
];
}

View file

@ -0,0 +1,17 @@
{ config, ... }:
let
inherit (config.xdg) configHome dataHome stateHome;
in
{
xdg.configFile."${config.home.sessionVariables.NPM_CONFIG_USERCONFIG}".text = ''
cache=${configHome}/npm
init-module=${configHome}/npm/config/npm-init.js
logs-dir=${stateHome}/npm/logs
prefix=${dataHome}/npm
'';
home.sessionVariables = {
NPM_CONFIG_USERCONFIG = "${configHome}/npm/npmrc";
};
}

View file

@ -0,0 +1,5 @@
{
programs.ranger = {
enable = true;
};
}