mirror of
https://github.com/Swarsel/.dotfiles.git
synced 2025-12-06 09:07:21 +01:00
WIP share configuraton between nixos / homemanager
This commit is contained in:
parent
641a0cd84d
commit
302c488569
166 changed files with 1029 additions and 1031 deletions
|
|
@ -3,8 +3,8 @@ let
|
|||
atuinDomain = globals.services.atuin.domain;
|
||||
in
|
||||
{
|
||||
options.swarselsystems.modules.atuin = lib.mkEnableOption "atuin settings";
|
||||
config = lib.mkIf config.swarselsystems.modules.atuin {
|
||||
options.swarselmodules.atuin = lib.mkEnableOption "atuin settings";
|
||||
config = lib.mkIf config.swarselmodules.atuin {
|
||||
programs.atuin = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
|
||||
{
|
||||
options.swarselsystems.modules.ownpackages = lib.mkEnableOption "own packages settings";
|
||||
config = lib.mkIf config.swarselsystems.modules.ownpackages {
|
||||
options.swarselmodules.ownpackages = lib.mkEnableOption "own packages settings";
|
||||
config = lib.mkIf config.swarselmodules.ownpackages {
|
||||
home.packages = with pkgs; lib.mkIf (!config.swarselsystems.isPublic) [
|
||||
pass-fuzzel
|
||||
cdw
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
{ lib, ... }:
|
||||
{ self, lib, ... }:
|
||||
let
|
||||
importNames = lib.swarselsystems.readNix "modules/home/common";
|
||||
in
|
||||
{
|
||||
imports = lib.swarselsystems.mkImports importNames "modules/home/common";
|
||||
imports = lib.swarselsystems.mkImports importNames "modules/home/common" ++ [
|
||||
"${self}/modules/shared/sharedsetup.nix"
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.desktop = lib.mkEnableOption "desktop settings";
|
||||
config = lib.mkIf config.swarselsystems.modules.desktop {
|
||||
options.swarselmodules.desktop = lib.mkEnableOption "desktop settings";
|
||||
config = lib.mkIf config.swarselmodules.desktop {
|
||||
xdg.desktopEntries = {
|
||||
|
||||
cura = {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.direnv = lib.mkEnableOption "direnv settings";
|
||||
config = lib.mkIf config.swarselsystems.modules.direnv {
|
||||
options.swarselmodules.direnv = lib.mkEnableOption "direnv settings";
|
||||
config = lib.mkIf config.swarselmodules.direnv {
|
||||
programs.direnv = {
|
||||
enable = true;
|
||||
silent = true;
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@ let
|
|||
inherit (config.swarselsystems) homeDir isPublic;
|
||||
in
|
||||
{
|
||||
options.swarselsystems.modules.emacs = lib.mkEnableOption "emacs settings";
|
||||
config = lib.mkIf config.swarselsystems.modules.emacs {
|
||||
options.swarselmodules.emacs = lib.mkEnableOption "emacs settings";
|
||||
config = lib.mkIf config.swarselmodules.emacs {
|
||||
# needed for elfeed
|
||||
sops.secrets.fever-pw = lib.mkIf (!isPublic) { path = "${homeDir}/.emacs.d/.fever"; };
|
||||
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@ let
|
|||
crocDomain = globals.services.croc.domain;
|
||||
in
|
||||
{
|
||||
options.swarselsystems.modules.env = lib.mkEnableOption "env settings";
|
||||
config = lib.mkIf config.swarselsystems.modules.env {
|
||||
options.swarselmodules.env = lib.mkEnableOption "env settings";
|
||||
config = lib.mkIf config.swarselmodules.env {
|
||||
home.sessionVariables = {
|
||||
EDITOR = "e -w";
|
||||
DISPLAY = ":0";
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.eza = lib.mkEnableOption "eza settings";
|
||||
config = lib.mkIf config.swarselsystems.modules.eza {
|
||||
options.swarselmodules.eza = lib.mkEnableOption "eza settings";
|
||||
config = lib.mkIf config.swarselmodules.eza {
|
||||
programs.eza = {
|
||||
enable = true;
|
||||
icons = "auto";
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.firefox = lib.mkEnableOption "firefox settings";
|
||||
config = lib.mkIf config.swarselsystems.modules.firefox {
|
||||
options.swarselmodules.firefox = lib.mkEnableOption "firefox settings";
|
||||
config = lib.mkIf config.swarselmodules.firefox {
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
package = pkgs.firefox; # uses overrides
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.fuzzel = lib.mkEnableOption "fuzzel settings";
|
||||
config = lib.mkIf config.swarselsystems.modules.fuzzel {
|
||||
options.swarselmodules.fuzzel = lib.mkEnableOption "fuzzel settings";
|
||||
config = lib.mkIf config.swarselmodules.fuzzel {
|
||||
programs.fuzzel = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@ let
|
|||
inherit (nixosConfig.repo.secrets.common.location) latitude longitude;
|
||||
in
|
||||
{
|
||||
options.swarselsystems.modules.gammastep = lib.mkEnableOption "gammastep settings";
|
||||
config = lib.mkIf config.swarselsystems.modules.gammastep {
|
||||
options.swarselmodules.gammastep = lib.mkEnableOption "gammastep settings";
|
||||
config = lib.mkIf config.swarselmodules.gammastep {
|
||||
services.gammastep = lib.mkIf (config.swarselsystems.isNixos && !config.swarselsystems.isPublic) {
|
||||
enable = true;
|
||||
provider = "manual";
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@ let
|
|||
gitUser = globals.user.name;
|
||||
in
|
||||
{
|
||||
options.swarselsystems.modules.git = lib.mkEnableOption "git settings";
|
||||
config = lib.mkIf config.swarselsystems.modules.git {
|
||||
options.swarselmodules.git = lib.mkEnableOption "git settings";
|
||||
config = lib.mkIf config.swarselmodules.git {
|
||||
programs.git = {
|
||||
enable = true;
|
||||
} // lib.optionalAttrs (!minimal) {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.gnome-keyring = lib.mkEnableOption "gnome keyring settings";
|
||||
config = lib.mkIf config.swarselsystems.modules.gnome-keyring {
|
||||
options.swarselmodules.gnome-keyring = lib.mkEnableOption "gnome keyring settings";
|
||||
config = lib.mkIf config.swarselmodules.gnome-keyring {
|
||||
services.gnome-keyring = lib.mkIf (!config.swarselsystems.isNixos) {
|
||||
enable = true;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@ let
|
|||
inherit (config.swarselsystems) mainUser homeDir;
|
||||
in
|
||||
{
|
||||
options.swarselsystems.modules.gpgagent = lib.mkEnableOption "gpg agent settings";
|
||||
config = lib.mkIf config.swarselsystems.modules.gpgagent {
|
||||
options.swarselmodules.gpgagent = lib.mkEnableOption "gpg agent settings";
|
||||
config = lib.mkIf config.swarselmodules.gpgagent {
|
||||
services.gpg-agent = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.kanshi = lib.mkEnableOption "kanshi settings";
|
||||
config = lib.mkIf config.swarselsystems.modules.kanshi {
|
||||
options.swarselmodules.kanshi = lib.mkEnableOption "kanshi settings";
|
||||
config = lib.mkIf config.swarselmodules.kanshi {
|
||||
swarselsystems = {
|
||||
monitors = {
|
||||
homedesktop = {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.kdeconnect = lib.mkEnableOption "kdeconnect settings";
|
||||
config = lib.mkIf config.swarselsystems.modules.kdeconnect {
|
||||
options.swarselmodules.kdeconnect = lib.mkEnableOption "kdeconnect settings";
|
||||
config = lib.mkIf config.swarselmodules.kdeconnect {
|
||||
services.kdeconnect = {
|
||||
enable = true;
|
||||
indicator = true;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.kitty = lib.mkEnableOption "kitty settings";
|
||||
config = lib.mkIf config.swarselsystems.modules.kitty {
|
||||
options.swarselmodules.kitty = lib.mkEnableOption "kitty settings";
|
||||
config = lib.mkIf config.swarselmodules.kitty {
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
keybindings = { };
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@ let
|
|||
inherit (config.swarselsystems) xdgDir;
|
||||
in
|
||||
{
|
||||
options.swarselsystems.modules.mail = lib.mkEnableOption "mail settings";
|
||||
config = lib.mkIf config.swarselsystems.modules.mail {
|
||||
options.swarselmodules.mail = lib.mkEnableOption "mail settings";
|
||||
config = lib.mkIf config.swarselmodules.mail {
|
||||
|
||||
sops.secrets = lib.mkIf (!config.swarselsystems.isPublic) {
|
||||
address1-token = { path = "${xdgDir}/secrets/address1-token"; };
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.mako = lib.mkEnableOption "mako settings";
|
||||
config = lib.mkIf config.swarselsystems.modules.mako {
|
||||
options.swarselmodules.mako = lib.mkEnableOption "mako settings";
|
||||
config = lib.mkIf config.swarselmodules.mako {
|
||||
services.mako = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ self, lib, config, pkgs, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.nix-index = lib.mkEnableOption "nix-index settings";
|
||||
config = lib.mkIf config.swarselsystems.modules.nix-index {
|
||||
options.swarselmodules.nix-index = lib.mkEnableOption "nix-index settings";
|
||||
config = lib.mkIf config.swarselmodules.nix-index {
|
||||
programs.nix-index =
|
||||
let
|
||||
commandNotFound = pkgs.runCommandLocal "command-not-found.sh" { } ''
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
{ lib, config, nixgl, ... }:
|
||||
{
|
||||
options.swarselmodules.nixgl = lib.mkEnableOption "nixgl settings";
|
||||
options.swarselsystems = {
|
||||
modules.nixgl = lib.mkEnableOption "nixgl settings";
|
||||
isSecondaryGpu = lib.mkEnableOption "device has a secondary GPU";
|
||||
SecondaryGpuCard = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "";
|
||||
};
|
||||
};
|
||||
config = lib.mkIf config.swarselsystems.modules.nixgl {
|
||||
config = lib.mkIf config.swarselmodules.nixgl {
|
||||
nixGL = lib.mkIf (!config.swarselsystems.isNixos) {
|
||||
inherit (nixgl) packages;
|
||||
defaultWrapper = lib.mkDefault "mesa";
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
|
||||
{
|
||||
options.swarselsystems.modules.packages = lib.mkEnableOption "packages settings";
|
||||
config = lib.mkIf config.swarselsystems.modules.packages {
|
||||
options.swarselmodules.packages = lib.mkEnableOption "packages settings";
|
||||
config = lib.mkIf config.swarselmodules.packages {
|
||||
home.packages = with pkgs; [
|
||||
|
||||
# audio stuff
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.passwordstore = lib.mkEnableOption "passwordstore settings";
|
||||
config = lib.mkIf config.swarselsystems.modules.passwordstore {
|
||||
options.swarselmodules.passwordstore = lib.mkEnableOption "passwordstore settings";
|
||||
config = lib.mkIf config.swarselmodules.passwordstore {
|
||||
programs.password-store = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.programs = lib.mkEnableOption "programs settings";
|
||||
config = lib.mkIf config.swarselsystems.modules.programs {
|
||||
options.swarselmodules.programs = lib.mkEnableOption "programs settings";
|
||||
config = lib.mkIf config.swarselmodules.programs {
|
||||
programs = {
|
||||
bottom.enable = true;
|
||||
imv.enable = true;
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@ let
|
|||
inherit (config.swarselsystems) mainUser;
|
||||
in
|
||||
{
|
||||
options.swarselsystems.modules.general = lib.mkEnableOption "general nix settings";
|
||||
config = lib.mkIf config.swarselsystems.modules.general {
|
||||
options.swarselmodules.general = lib.mkEnableOption "general nix settings";
|
||||
config = lib.mkIf config.swarselmodules.general {
|
||||
nix = lib.mkIf (!config.swarselsystems.isNixos) {
|
||||
package = lib.mkForce pkgs.nixVersions.nix_2_28;
|
||||
extraOptions = ''
|
||||
|
|
|
|||
12
modules/home/common/sharedoptions.nix
Normal file
12
modules/home/common/sharedoptions.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{ lib, config, nixosConfig, ... }:
|
||||
let
|
||||
# mirrorAttrs = lib.mapAttrs (_: v: lib.mkDefault v) nixosConfig.swarselsystems;
|
||||
inherit (lib) mkDefault mapAttrs filterAttrs;
|
||||
mkDefaultCommonAttrs = base: defaults:
|
||||
lib.mapAttrs (_: v: lib.mkDefault v)
|
||||
(lib.filterAttrs (k: _: base ? ${k}) defaults);
|
||||
in
|
||||
{
|
||||
# config.swarselsystems = mirrorAttrs;
|
||||
config.swarselsystems = mkDefaultCommonAttrs config.swarselsystems nixosConfig.swarselsystems;
|
||||
}
|
||||
|
|
@ -1,269 +0,0 @@
|
|||
{ self, config, lib, pkgs, globals, minimal, ... }:
|
||||
{
|
||||
options.swarselsystems = {
|
||||
isLaptop = lib.mkEnableOption "laptop host";
|
||||
isNixos = lib.mkEnableOption "nixos host";
|
||||
isPublic = lib.mkEnableOption "is a public machine (no secrets)";
|
||||
isDarwin = lib.mkEnableOption "darwin host";
|
||||
isLinux = lib.mkEnableOption "whether this is a linux machine";
|
||||
isBtrfs = lib.mkEnableOption "use btrfs filesystem";
|
||||
mainUser = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = if (!minimal) then globals.user.name else "swarsel";
|
||||
};
|
||||
sopsFile = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "${config.swarselsystems.flakePath}/secrets/${config.node.name}/secrets.yaml";
|
||||
};
|
||||
homeDir = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "/home/swarsel";
|
||||
};
|
||||
xdgDir = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "/run/user/1000";
|
||||
};
|
||||
flakePath = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "/home/swarsel/.dotfiles";
|
||||
};
|
||||
wallpaper = lib.mkOption {
|
||||
type = lib.types.path;
|
||||
default = "${self}/files/wallpaper/lenovowp.png";
|
||||
};
|
||||
sharescreen = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "";
|
||||
};
|
||||
lowResolution = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "";
|
||||
};
|
||||
highResolution = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "";
|
||||
};
|
||||
|
||||
stylix = lib.mkOption {
|
||||
type = lib.types.attrs;
|
||||
default = {
|
||||
polarity = "dark";
|
||||
opacity.popups = 0.5;
|
||||
cursor = {
|
||||
package = pkgs.banana-cursor;
|
||||
# package = pkgs.capitaine-cursors;
|
||||
name = "Banana";
|
||||
# name = "capitaine-cursors";
|
||||
size = 16;
|
||||
};
|
||||
fonts = {
|
||||
sizes = {
|
||||
terminal = 10;
|
||||
applications = 11;
|
||||
};
|
||||
serif = {
|
||||
# package = (pkgs.nerdfonts.override { fonts = [ "FiraMono" "FiraCode"]; });
|
||||
package = pkgs.cantarell-fonts;
|
||||
# package = pkgs.montserrat;
|
||||
name = "Cantarell";
|
||||
# name = "FiraCode Nerd Font Propo";
|
||||
# name = "Montserrat";
|
||||
};
|
||||
sansSerif = {
|
||||
# package = (pkgs.nerdfonts.override { fonts = [ "FiraMono" "FiraCode"]; });
|
||||
package = pkgs.cantarell-fonts;
|
||||
# package = pkgs.montserrat;
|
||||
name = "Cantarell";
|
||||
# name = "FiraCode Nerd Font Propo";
|
||||
# name = "Montserrat";
|
||||
};
|
||||
monospace = {
|
||||
package = pkgs.nerd-fonts.fira-mono; # has overrides
|
||||
name = "FiraCode Nerd Font Mono";
|
||||
};
|
||||
emoji = {
|
||||
package = pkgs.noto-fonts-emoji;
|
||||
name = "Noto Color Emoji";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
stylixHomeTargets = lib.mkOption {
|
||||
type = lib.types.attrs;
|
||||
default = {
|
||||
emacs.enable = false;
|
||||
waybar.enable = false;
|
||||
sway.useWallpaper = false;
|
||||
firefox.profileNames = [ "default" ];
|
||||
};
|
||||
};
|
||||
|
||||
firefox = lib.mkOption {
|
||||
type = lib.types.attrs;
|
||||
default = {
|
||||
userChrome = builtins.readFile "${self}/files/firefox/chrome/userChrome.css";
|
||||
extensions = {
|
||||
packages = with pkgs.nur.repos.rycee.firefox-addons; [
|
||||
tridactyl
|
||||
tampermonkey
|
||||
sidebery
|
||||
browserpass
|
||||
clearurls
|
||||
darkreader
|
||||
enhancer-for-youtube
|
||||
istilldontcareaboutcookies
|
||||
translate-web-pages
|
||||
ublock-origin
|
||||
reddit-enhancement-suite
|
||||
sponsorblock
|
||||
web-archives
|
||||
onepassword-password-manager
|
||||
single-file
|
||||
widegithub
|
||||
enhanced-github
|
||||
unpaywall
|
||||
don-t-fuck-with-paste
|
||||
plasma-integration
|
||||
noscript
|
||||
|
||||
# configure a shortcut 'ctrl+shift+c' with behaviour 'do nothing' in order to disable the dev console shortcut
|
||||
(buildFirefoxXpiAddon {
|
||||
pname = "shortkeys";
|
||||
version = "4.0.2";
|
||||
addonId = "Shortkeys@Shortkeys.com";
|
||||
url = "https://addons.mozilla.org/firefox/downloads/file/3673761/shortkeys-4.0.2.xpi";
|
||||
sha256 = "c6fe12efdd7a871787ac4526eea79ecc1acda8a99724aa2a2a55c88a9acf467c";
|
||||
meta = with lib;
|
||||
{
|
||||
description = "Easily customizable custom keyboard shortcuts for Firefox. To configure this addon go to Addons (ctrl+shift+a) ->Shortkeys ->Options. Report issues here (please specify that the issue is found in Firefox): https://github.com/mikecrittenden/shortkeys";
|
||||
mozPermissions = [
|
||||
"tabs"
|
||||
"downloads"
|
||||
"clipboardWrite"
|
||||
"browsingData"
|
||||
"storage"
|
||||
"bookmarks"
|
||||
"sessions"
|
||||
"<all_urls>"
|
||||
];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
})
|
||||
];
|
||||
};
|
||||
|
||||
settings =
|
||||
{
|
||||
"extensions.autoDisableScopes" = 0;
|
||||
"browser.bookmarks.showMobileBookmarks" = true;
|
||||
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
||||
"browser.search.suggest.enabled" = false;
|
||||
"browser.search.suggest.enabled.private" = false;
|
||||
"browser.urlbar.suggest.searches" = false;
|
||||
"browser.urlbar.showSearchSuggestionsFirst" = false;
|
||||
"browser.topsites.contile.enabled" = false;
|
||||
"browser.newtabpage.activity-stream.feeds.section.topstories" = false;
|
||||
"browser.newtabpage.activity-stream.feeds.snippets" = false;
|
||||
"browser.newtabpage.activity-stream.section.highlights.includePocket" = false;
|
||||
"browser.newtabpage.activity-stream.section.highlights.includeBookmarks" = false;
|
||||
"browser.newtabpage.activity-stream.section.highlights.includeDownloads" = false;
|
||||
"browser.newtabpage.activity-stream.section.highlights.includeVisited" = false;
|
||||
"browser.newtabpage.activity-stream.showSponsored" = false;
|
||||
"browser.newtabpage.activity-stream.system.showSponsored" = false;
|
||||
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
||||
};
|
||||
|
||||
search = {
|
||||
# default = "Kagi";
|
||||
default = "google";
|
||||
# privateDefault = "Kagi";
|
||||
privateDefault = "google";
|
||||
engines = {
|
||||
"Kagi" = {
|
||||
urls = [{
|
||||
template = "https://kagi.com/search";
|
||||
params = [
|
||||
{ name = "q"; value = "{searchTerms}"; }
|
||||
];
|
||||
}];
|
||||
icon = "https://kagi.com/favicon.ico";
|
||||
updateInterval = 24 * 60 * 60 * 1000; # every day
|
||||
definedAliases = [ "@k" ];
|
||||
};
|
||||
|
||||
"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 = "https://nixos.wiki/favicon.png";
|
||||
updateInterval = 24 * 60 * 60 * 1000; # every day
|
||||
definedAliases = [ "@nw" ];
|
||||
};
|
||||
|
||||
"NixOS Options" = {
|
||||
urls = [{
|
||||
template = "https://search.nixos.org/options";
|
||||
params = [
|
||||
{ name = "query"; value = "{searchTerms}"; }
|
||||
];
|
||||
}];
|
||||
|
||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
definedAliases = [ "@no" ];
|
||||
};
|
||||
|
||||
"Home Manager Options" = {
|
||||
urls = [{
|
||||
template = "https://home-manager-options.extranix.com/";
|
||||
params = [
|
||||
{ name = "query"; value = "{searchTerms}"; }
|
||||
];
|
||||
}];
|
||||
|
||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
definedAliases = [ "@hm" "@ho" "@hmo" ];
|
||||
};
|
||||
|
||||
"Confluence search" = {
|
||||
urls = [{
|
||||
template = "https://vbc.atlassian.net/wiki/search";
|
||||
params = [
|
||||
{ name = "text"; value = "{searchTerms}"; }
|
||||
];
|
||||
}];
|
||||
|
||||
definedAliases = [ "@c" "@cf" "@confluence" ];
|
||||
};
|
||||
|
||||
"Jira search" = {
|
||||
urls = [{
|
||||
template = "https://vbc.atlassian.net/issues/";
|
||||
params = [
|
||||
{ name = "jql"; value = "textfields ~ \"{searchTerms}*\"&wildcardFlag=true"; }
|
||||
];
|
||||
}];
|
||||
|
||||
definedAliases = [ "@j" "@jire" ];
|
||||
};
|
||||
|
||||
"google".metaData.alias = "@g";
|
||||
};
|
||||
force = true; # this is required because otherwise the search.json.mozlz4 symlink gets replaced on every firefox restart
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
}
|
||||
|
|
@ -3,8 +3,8 @@ let
|
|||
inherit (config.swarselsystems) homeDir;
|
||||
in
|
||||
{
|
||||
options.swarselsystems.modules.sops = lib.mkEnableOption "sops settings";
|
||||
config = lib.mkIf config.swarselsystems.modules.sops {
|
||||
options.swarselmodules.sops = lib.mkEnableOption "sops settings";
|
||||
config = lib.mkIf config.swarselmodules.sops {
|
||||
sops = {
|
||||
age.sshKeyPaths = [ "${homeDir}/.ssh/sops" "${homeDir}/.ssh/ssh_host_ed25519_key" ];
|
||||
defaultSopsFile = "${homeDir}/.dotfiles/secrets/general/secrets.yaml";
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.ssh = lib.mkEnableOption "ssh settings";
|
||||
config = lib.mkIf config.swarselsystems.modules.ssh {
|
||||
options.swarselmodules.ssh = lib.mkEnableOption "ssh settings";
|
||||
config = lib.mkIf config.swarselmodules.ssh {
|
||||
programs.ssh = {
|
||||
enable = true;
|
||||
forwardAgent = true;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.starship = lib.mkEnableOption "starship settings";
|
||||
config = lib.mkIf config.swarselsystems.modules.starship {
|
||||
options.swarselmodules.starship = lib.mkEnableOption "starship settings";
|
||||
config = lib.mkIf config.swarselmodules.starship {
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.stylix = lib.mkEnableOption "stylix settings";
|
||||
config = lib.mkIf config.swarselsystems.modules.stylix {
|
||||
options.swarselmodules.stylix = lib.mkEnableOption "stylix settings";
|
||||
config = lib.mkIf config.swarselmodules.stylix {
|
||||
stylix = lib.mkIf (!config.swarselsystems.isNixos) (lib.recursiveUpdate
|
||||
{
|
||||
image = config.swarselsystems.wallpaper;
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@ let
|
|||
};
|
||||
in
|
||||
{
|
||||
options.swarselmodules.sway = lib.mkEnableOption "sway settings";
|
||||
options.swarselsystems = {
|
||||
modules.sway = lib.mkEnableOption "sway settings";
|
||||
inputs = lib.mkOption {
|
||||
type = lib.types.attrsOf (lib.types.attrsOf lib.types.str);
|
||||
default = { };
|
||||
|
|
@ -72,7 +72,7 @@ in
|
|||
internal = true;
|
||||
};
|
||||
};
|
||||
config = lib.mkIf config.swarselsystems.modules.sway {
|
||||
config = lib.mkIf config.swarselmodules.sway {
|
||||
swarselsystems = {
|
||||
touchpad = lib.mkIf config.swarselsystems.isLaptop {
|
||||
"type:touchpad" = {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, pkgs, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.swayosd = lib.mkEnableOption "swayosd settings";
|
||||
config = lib.mkIf config.swarselsystems.modules.swayosd {
|
||||
options.swarselmodules.swayosd = lib.mkEnableOption "swayosd settings";
|
||||
config = lib.mkIf config.swarselmodules.swayosd {
|
||||
services.swayosd = {
|
||||
enable = true;
|
||||
package = pkgs.dev.swayosd;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ self, lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.symlink = lib.mkEnableOption "symlink settings";
|
||||
config = lib.mkIf config.swarselsystems.modules.symlink {
|
||||
options.swarselmodules.symlink = lib.mkEnableOption "symlink settings";
|
||||
config = lib.mkIf config.swarselmodules.symlink {
|
||||
home.file = {
|
||||
"init.el" = lib.mkDefault {
|
||||
source = self + /files/emacs/init.el;
|
||||
|
|
|
|||
|
|
@ -13,8 +13,8 @@ let
|
|||
};
|
||||
in
|
||||
{
|
||||
options.swarselsystems.modules.tmux = lib.mkEnableOption "tmux settings";
|
||||
config = lib.mkIf config.swarselsystems.modules.tmux {
|
||||
options.swarselmodules.tmux = lib.mkEnableOption "tmux settings";
|
||||
config = lib.mkIf config.swarselmodules.tmux {
|
||||
home.packages = with pkgs; [
|
||||
lsof
|
||||
sesh
|
||||
|
|
|
|||
|
|
@ -22,8 +22,8 @@ let
|
|||
];
|
||||
in
|
||||
{
|
||||
options.swarselmodules.waybar = lib.mkEnableOption "waybar settings";
|
||||
options.swarselsystems = {
|
||||
modules.waybar = lib.mkEnableOption "waybar settings";
|
||||
cpuCount = lib.mkOption {
|
||||
type = lib.types.int;
|
||||
default = 8;
|
||||
|
|
@ -52,7 +52,7 @@ in
|
|||
internal = true;
|
||||
};
|
||||
};
|
||||
config = lib.mkIf config.swarselsystems.modules.waybar {
|
||||
config = lib.mkIf config.swarselmodules.waybar {
|
||||
|
||||
swarselsystems = {
|
||||
waybarModules = lib.mkIf config.swarselsystems.isLaptop (modulesLeft ++ [
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.yubikeytouch = lib.mkEnableOption "yubikey touch detector service settings";
|
||||
config = lib.mkIf config.swarselsystems.modules.yubikeytouch {
|
||||
options.swarselmodules.yubikeytouch = lib.mkEnableOption "yubikey touch detector service settings";
|
||||
config = lib.mkIf config.swarselmodules.yubikeytouch {
|
||||
systemd.user.services.yubikey-touch-detector = {
|
||||
Unit = {
|
||||
Description = "Detects when your YubiKey is waiting for a touch";
|
||||
|
|
|
|||
|
|
@ -3,9 +3,9 @@ let
|
|||
inherit (config.swarselsystems) homeDir;
|
||||
in
|
||||
{
|
||||
options.swarselsystems.modules.yubikey = lib.mkEnableOption "yubikey settings";
|
||||
options.swarselmodules.yubikey = lib.mkEnableOption "yubikey settings";
|
||||
|
||||
config = lib.mkIf config.swarselsystems.modules.yubikey {
|
||||
config = lib.mkIf config.swarselmodules.yubikey {
|
||||
|
||||
sops.secrets = lib.mkIf (!config.swarselsystems.isPublic) {
|
||||
u2f-keys = { path = "${homeDir}/.config/Yubico/u2f_keys"; };
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ self, lib, config, pkgs, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.zellij = lib.mkEnableOption "zellij settings";
|
||||
config = lib.mkIf config.swarselsystems.modules.zellij {
|
||||
options.swarselmodules.zellij = lib.mkEnableOption "zellij settings";
|
||||
config = lib.mkIf config.swarselmodules.zellij {
|
||||
programs.zellij = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
|
|
|
|||
|
|
@ -3,14 +3,14 @@ let
|
|||
inherit (config.swarselsystems) flakePath;
|
||||
in
|
||||
{
|
||||
options.swarselmodules.zsh = lib.mkEnableOption "zsh settings";
|
||||
options.swarselsystems = {
|
||||
modules.zsh = lib.mkEnableOption "zsh settings";
|
||||
shellAliases = lib.mkOption {
|
||||
type = lib.types.attrsOf lib.types.str;
|
||||
default = { };
|
||||
};
|
||||
};
|
||||
config = lib.mkIf config.swarselsystems.modules.zsh
|
||||
config = lib.mkIf config.swarselmodules.zsh
|
||||
{
|
||||
|
||||
sops.secrets = {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue