restructured project to split out home manager
This commit is contained in:
parent
c8e7944da5
commit
18f51a65c2
|
@ -4,7 +4,7 @@
|
|||
...
|
||||
}: {
|
||||
imports = [
|
||||
../../users
|
||||
./users
|
||||
];
|
||||
|
||||
nix = {
|
||||
|
|
9
enviroments/common/users/default.nix
Normal file
9
enviroments/common/users/default.nix
Normal file
|
@ -0,0 +1,9 @@
|
|||
{...}: {
|
||||
imports = [
|
||||
./leyla
|
||||
./ester
|
||||
./eve
|
||||
];
|
||||
|
||||
users.mutableUsers = false;
|
||||
}
|
|
@ -1,7 +1,6 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}: let
|
|
@ -1,7 +1,6 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}: let
|
78
flake.nix
78
flake.nix
|
@ -34,7 +34,7 @@
|
|||
};
|
||||
|
||||
# firefox-addons = {
|
||||
# url = "gitlab.com:rycee/nur-expressions?dir=pkgs/firefox-addons";
|
||||
# url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
|
||||
# inputs.nixpkgs.follows = "nixpkgs";
|
||||
# };
|
||||
|
||||
|
@ -59,32 +59,13 @@
|
|||
};
|
||||
};
|
||||
|
||||
outputs = {
|
||||
nixpkgs,
|
||||
disko,
|
||||
# impermanence,
|
||||
nixos-hardware,
|
||||
home-manager,
|
||||
lix-module,
|
||||
...
|
||||
} @ inputs: let
|
||||
home-manager-config = {
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.backupFileExtension = "backup";
|
||||
home-manager.extraSpecialArgs = {inherit inputs;};
|
||||
};
|
||||
systems = [
|
||||
"aarch64-darwin"
|
||||
"aarch64-linux"
|
||||
"x86_64-darwin"
|
||||
"x86_64-linux"
|
||||
];
|
||||
forEachSystem = nixpkgs.lib.genAttrs systems;
|
||||
forEachPkgs = lambda: forEachSystem (system: lambda nixpkgs.legacyPackages.${system});
|
||||
|
||||
callPackage = nixpkgs.lib.callPackageWith (nixpkgs // {lib = lib;});
|
||||
lib = callPackage ./util {} // nixpkgs.lib;
|
||||
outputs = {...} @ inputs: let
|
||||
util = import ./util {inherit inputs;};
|
||||
forEachPkgs = util.forEachPkgs;
|
||||
mkSystem = util.mkSystem;
|
||||
# mkHome = util.mkHome;
|
||||
# callPackage = nixpkgs.lib.callPackageWith (nixpkgs // {lib = lib;});
|
||||
# lib = callPackage ./lib {} // nixpkgs.lib;
|
||||
in {
|
||||
packages = forEachPkgs (import ./pkgs);
|
||||
|
||||
|
@ -108,44 +89,15 @@
|
|||
};
|
||||
});
|
||||
|
||||
# homeConfigurations = {
|
||||
# "leyla@horizon" = mkHome "leyla" "horizon"; # "x86_64-linux" ./homes/leyla;
|
||||
# };
|
||||
|
||||
nixosConfigurations = {
|
||||
# Leyla Laptop
|
||||
horizon = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {inherit inputs lib;};
|
||||
modules = [
|
||||
lix-module.nixosModules.default
|
||||
./overlays
|
||||
home-manager.nixosModules.home-manager
|
||||
home-manager-config
|
||||
./hosts/horizon/configuration.nix
|
||||
nixos-hardware.nixosModules.framework-11th-gen-intel
|
||||
];
|
||||
};
|
||||
# Leyla Desktop
|
||||
twilight = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {inherit inputs lib;};
|
||||
modules = [
|
||||
lix-module.nixosModules.default
|
||||
./overlays
|
||||
home-manager.nixosModules.home-manager
|
||||
home-manager-config
|
||||
./hosts/twilight/configuration.nix
|
||||
];
|
||||
};
|
||||
# NAS Service
|
||||
defiant = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {inherit inputs lib;};
|
||||
modules = [
|
||||
lix-module.nixosModules.default
|
||||
./overlays
|
||||
# impermanence.nixosModules.impermanence
|
||||
disko.nixosModules.disko
|
||||
home-manager.nixosModules.home-manager
|
||||
home-manager-config
|
||||
./hosts/defiant/disko-config.nix
|
||||
./hosts/defiant/configuration.nix
|
||||
];
|
||||
};
|
||||
horizon = mkSystem "horizon";
|
||||
twilight = mkSystem "twilight";
|
||||
defiant = mkSystem "defiant";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
5
homes/default.nix
Normal file
5
homes/default.nix
Normal file
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
leyla = import ./leyla;
|
||||
ester = import ./ester;
|
||||
eve = import ./eve;
|
||||
}
|
|
@ -1,7 +1,6 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
osConfig,
|
||||
...
|
||||
}: let
|
304
homes/leyla/firefox.nix
Normal file
304
homes/leyla/firefox.nix
Normal file
|
@ -0,0 +1,304 @@
|
|||
{
|
||||
lib,
|
||||
osConfig,
|
||||
# buildFirefoxXpiAddon,
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}: let
|
||||
cfg = osConfig.nixos.users.leyla;
|
||||
in {
|
||||
# programs.firefox = {
|
||||
# enable = cfg.isDesktopUser;
|
||||
# profiles.leyla = {
|
||||
|
||||
# settings = {
|
||||
# "browser.search.defaultenginename" = "Searx";
|
||||
# "browser.search.order.1" = "Searx";
|
||||
# };
|
||||
|
||||
# search = {
|
||||
# force = true;
|
||||
# default = "Searx";
|
||||
# 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}"; }];
|
||||
# iconUpdateURL = "https://nixos.wiki/favicon.png";
|
||||
# updateInterval = 24 * 60 * 60 * 1000; # every day
|
||||
# definedAliases = [ "@nw" ];
|
||||
# };
|
||||
# "Searx" = {
|
||||
# urls = [{ template = "https://search.jan-leila.com/?q={searchTerms}"; }];
|
||||
# iconUpdateURL = "https://nixos.wiki/favicon.png";
|
||||
# updateInterval = 24 * 60 * 60 * 1000; # every day
|
||||
# definedAliases = [ "@searx" ];
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
|
||||
# extentions = with inputs.firefox-addons.packages."x86_64-linux"; [
|
||||
# bitwarden
|
||||
# terms-of-service-didnt-read
|
||||
# multi-account-containers
|
||||
# shinigami-eyes
|
||||
|
||||
# ublock-origin
|
||||
# sponsorblock
|
||||
# dearrow
|
||||
# df-youtube
|
||||
# return-youtube-dislikes
|
||||
|
||||
# privacy-badger
|
||||
# decentraleyes
|
||||
# clearurls
|
||||
# localcdn
|
||||
|
||||
# snowflake
|
||||
|
||||
# deutsch-de-language-pack
|
||||
# dictionary-german
|
||||
|
||||
# # (
|
||||
# # buildFirefoxXpiAddon rec {
|
||||
# # pname = "italiano-it-language-pack";
|
||||
# # version = "132.0.20241110.231641";
|
||||
# # addonId = "langpack-it@firefox.mozilla.org";
|
||||
# # url = "https://addons.mozilla.org/firefox/downloads/file/4392453/italiano_it_language_pack-${version}.xpi";
|
||||
# # sha256 = "";
|
||||
# # meta = with lib;
|
||||
# # {
|
||||
# # description = "Firefox Language Pack for Italiano (it) – Italian";
|
||||
# # license = licenses.mpl20;
|
||||
# # mozPermissions = [];
|
||||
# # platforms = platforms.all;
|
||||
# # };
|
||||
# # }
|
||||
# # )
|
||||
# # (
|
||||
# # buildFirefoxXpiAddon rec {
|
||||
# # pname = "dizionario-italiano";
|
||||
# # version = "5.1";
|
||||
# # addonId = "it-IT@dictionaries.addons.mozilla.org";
|
||||
# # url = "https://addons.mozilla.org/firefox/downloads/file/1163874/dizionario_italiano-${version}.xpi";
|
||||
# # sha256 = "";
|
||||
# # meta = with lib;
|
||||
# # {
|
||||
# # description = "Add support for Italian to spellchecking";
|
||||
# # license = licenses.gpl3;
|
||||
# # mozPermissions = [];
|
||||
# # platforms = platforms.all;
|
||||
# # };
|
||||
# # }
|
||||
# # )
|
||||
# ];
|
||||
|
||||
# settings = {
|
||||
# # 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;
|
||||
|
||||
# # Usage Experiance
|
||||
# "browser.startup.homepage" = "about:home";
|
||||
# "browser.download.useDownloadDir" = false;
|
||||
# "browser.uiCustomization.state" = builtins.toJSON {
|
||||
# "currentVersion" = 20;
|
||||
# "newElementCount" = 6;
|
||||
# "dirtyAreaCache" = [
|
||||
# "nav-bar"
|
||||
# "PersonalToolbar"
|
||||
# "toolbar-menubar"
|
||||
# "TabsToolbar"
|
||||
# "unified-extensions-area"
|
||||
# "vertical-tabs"
|
||||
# ];
|
||||
# "placements" = {
|
||||
# "widget-overflow-fixed-list" = [];
|
||||
# "unified-extensions-area"= [
|
||||
# "ublock0_raymondhill_net-browser-action"
|
||||
# "sponsorblocker_ajay_app-browser-action"
|
||||
# "dearrow_ajay_app-browser-action"
|
||||
# "privacy_privacy_com-browser-action"
|
||||
# "addon_simplelogin-browser-action"
|
||||
# ];
|
||||
# "nav-bar" = [
|
||||
# "back-button"
|
||||
# "forward-button"
|
||||
# "stop-reload-button"
|
||||
# "urlbar-container"
|
||||
# "downloads-button"
|
||||
# "unified-extensions-button"
|
||||
# "reset-pbm-toolbar-button"
|
||||
# ];
|
||||
# "toolbar-menubar" = [
|
||||
# "menubar-items"
|
||||
# ];
|
||||
# "TabsToolbar" = [
|
||||
# "firefox-view-button"
|
||||
# "tabbrowser-tabs"
|
||||
# "new-tab-button"
|
||||
# "alltabs-button"
|
||||
# ];
|
||||
# "vertical-tabs" = [];
|
||||
# "PersonalToolbar" = [
|
||||
# "import-button"
|
||||
# "personal-bookmarks"
|
||||
# ];
|
||||
# };
|
||||
# "seen" = [
|
||||
# "save-to-pocket-button"
|
||||
# "developer-button"
|
||||
# "privacy_privacy_com-browser-action"
|
||||
# "sponsorblocker_ajay_app-browser-action"
|
||||
# "ublock0_raymondhill_net-browser-action"
|
||||
# "addon_simplelogin-browser-action"
|
||||
# "dearrow_ajay_app-browser-action"
|
||||
# ];
|
||||
# };
|
||||
# "browser.newtabpage.activity-stream.feeds.topsites" = false;
|
||||
# "browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
||||
# "browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts" = false;
|
||||
# "browser.newtabpage.blocked" = lib.genAttrs [
|
||||
# # Facebook
|
||||
# "4gPpjkxgZzXPVtuEoAL9Ig=="
|
||||
# # Reddit
|
||||
# "gLv0ja2RYVgxKdp0I5qwvA=="
|
||||
# # Amazon
|
||||
# "K00ILysCaEq8+bEqV/3nuw=="
|
||||
# # Twitter
|
||||
# "T9nJot5PurhJSy8n038xGA=="
|
||||
# ] (_: 1);
|
||||
# "signon.rememberSignons" = false;
|
||||
# "identity.fxaccounts.enabled" = false;
|
||||
|
||||
# # Security
|
||||
# "privacy.trackingprotection.enabled" = true;
|
||||
# "dom.security.https_only_mode" = true;
|
||||
|
||||
# # Disable telemetry
|
||||
# "app.shield.optoutstudies.enabled" = false;
|
||||
# "browser.discovery.enabled" = false;
|
||||
# "browser.newtabpage.activity-stream.feeds.telemetry" = false;
|
||||
# "browser.newtabpage.activity-stream.telemetry" = false;
|
||||
# "browser.ping-centre.telemetry" = false;
|
||||
# "datareporting.healthreport.service.enabled" = false;
|
||||
# "datareporting.healthreport.uploadEnabled" = false;
|
||||
# "datareporting.policy.dataSubmissionEnabled" = false;
|
||||
# "datareporting.sessions.current.clean" = true;
|
||||
# "devtools.onboarding.telemetry.logged" = false;
|
||||
# "toolkit.telemetry.archive.enabled" = false;
|
||||
# "toolkit.telemetry.bhrPing.enabled" = false;
|
||||
# "toolkit.telemetry.enabled" = false;
|
||||
# "toolkit.telemetry.firstShutdownPing.enabled" = false;
|
||||
# "toolkit.telemetry.hybridContent.enabled" = false;
|
||||
# "toolkit.telemetry.newProfilePing.enabled" = false;
|
||||
# "toolkit.telemetry.prompted" = 2;
|
||||
# "toolkit.telemetry.rejected" = true;
|
||||
# "toolkit.telemetry.reportingpolicy.firstRun" = false;
|
||||
# "toolkit.telemetry.server" = "";
|
||||
# "toolkit.telemetry.shutdownPingSender.enabled" = false;
|
||||
# "toolkit.telemetry.unified" = false;
|
||||
# "toolkit.telemetry.unifiedIsOptIn" = false;
|
||||
# "toolkit.telemetry.updatePing.enabled" = false;
|
||||
# };
|
||||
|
||||
# bookmarks = [
|
||||
# {
|
||||
# name = "Media";
|
||||
# url = "https://jellyfin.jan-leila.com/";
|
||||
# # url = "https://media.jan-leila.com/";
|
||||
# keyword = "";
|
||||
# tags = [""];
|
||||
# }
|
||||
# {
|
||||
# name = "Drive";
|
||||
# url = "https://drive.jan-leila.com/";
|
||||
# keyword = "";
|
||||
# tags = [""];
|
||||
# }
|
||||
# {
|
||||
# name = "Git";
|
||||
# url = "https://git.jan-leila.com/";
|
||||
# keyword = "";
|
||||
# tags = [""];
|
||||
# }
|
||||
# {
|
||||
# name = "Home Automation";
|
||||
# url = "https://home-assistant.jan-leila.com/";
|
||||
# keyword = "";
|
||||
# tags = [""];
|
||||
# }
|
||||
# {
|
||||
# name = "Mail";
|
||||
# url = "https://mail.protonmail.com";
|
||||
# keyword = "";
|
||||
# tags = [""];
|
||||
# }
|
||||
# {
|
||||
# name = "Open Street Map";
|
||||
# url = "https://www.openstreetmap.org/";
|
||||
# keyword = "";
|
||||
# tags = [""];
|
||||
# }
|
||||
# {
|
||||
# name = "Password Manager";
|
||||
# url = "https://vault.bitwarden.com/";
|
||||
# keyword = "";
|
||||
# tags = [""];
|
||||
# }
|
||||
# {
|
||||
# name = "Mastodon";
|
||||
# url = "https://mspsocial.net";
|
||||
# keyword = "";
|
||||
# tags = [""];
|
||||
# }
|
||||
# {
|
||||
# name = "Linked In";
|
||||
# url = "https://www.linkedin.com/";
|
||||
# keyword = "";
|
||||
# tags = [""];
|
||||
# }
|
||||
# {
|
||||
# name = "Job Search";
|
||||
# url = "https://www.jobsinnetwork.com/?state=cleaned_history&language%5B%5D=en&query=react&locations.countryCode%5B%5D=IT&locations.countryCode%5B%5D=DE&locations.countryCode%5B%5D=NL&experience%5B%5D=medior&experience%5B%5D=junior&page=1";
|
||||
# keyword = "";
|
||||
# tags = [""];
|
||||
# }
|
||||
# {
|
||||
# name = "React Docs";
|
||||
# url = "https://react.dev/";
|
||||
# keyword = "";
|
||||
# tags = [""];
|
||||
# }
|
||||
# # Template
|
||||
# # {
|
||||
# # name = "";
|
||||
# # url = "";
|
||||
# # keyword = "";
|
||||
# # tags = [""];
|
||||
# # }
|
||||
# ];
|
||||
# };
|
||||
# };
|
||||
}
|
|
@ -23,7 +23,7 @@ in {
|
|||
open-vsx = extensions.open-vsx;
|
||||
vscode-marketplace = extensions.vscode-marketplace;
|
||||
in {
|
||||
enable = true;
|
||||
enable = cfg.isDesktopUser;
|
||||
|
||||
package = pkgs.vscodium;
|
||||
|
|
@ -1,15 +1,11 @@
|
|||
# server nas
|
||||
{
|
||||
pkgs,
|
||||
inputs,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
inputs.home-manager.nixosModules.default
|
||||
inputs.sops-nix.nixosModules.sops
|
||||
|
||||
./hardware-configuration.nix
|
||||
|
||||
inputs.disko.nixosModules.disko
|
||||
../../enviroments/server
|
||||
];
|
||||
|
||||
|
|
8
hosts/defiant/default.nix
Normal file
8
hosts/defiant/default.nix
Normal file
|
@ -0,0 +1,8 @@
|
|||
# server nas
|
||||
{...}: {
|
||||
imports = [
|
||||
./configuration.nix
|
||||
./disko-config.nix
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
}
|
|
@ -1,10 +1,6 @@
|
|||
# leyla laptop
|
||||
{inputs, ...}: {
|
||||
imports = [
|
||||
inputs.home-manager.nixosModules.default
|
||||
inputs.sops-nix.nixosModules.sops
|
||||
|
||||
./hardware-configuration.nix
|
||||
inputs.nixos-hardware.nixosModules.framework-11th-gen-intel
|
||||
|
||||
../../enviroments/client
|
||||
];
|
||||
|
@ -13,12 +9,12 @@
|
|||
leyla = {
|
||||
isDesktopUser = true;
|
||||
};
|
||||
ester = {
|
||||
isDesktopUser = true;
|
||||
};
|
||||
eve = {
|
||||
isDesktopUser = true;
|
||||
};
|
||||
# ester = {
|
||||
# isDesktopUser = true;
|
||||
# };
|
||||
# eve = {
|
||||
# isDesktopUser = true;
|
||||
# };
|
||||
};
|
||||
|
||||
# enabled virtualisation for docker
|
||||
|
|
7
hosts/horizon/default.nix
Normal file
7
hosts/horizon/default.nix
Normal file
|
@ -0,0 +1,7 @@
|
|||
# leyla laptop
|
||||
{...}: {
|
||||
imports = [
|
||||
./configuration.nix
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
}
|
|
@ -1,16 +1,5 @@
|
|||
# leyla laptop
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
{pkgs, ...}: {
|
||||
imports = [
|
||||
inputs.home-manager.nixosModules.default
|
||||
inputs.sops-nix.nixosModules.sops
|
||||
|
||||
./hardware-configuration.nix
|
||||
|
||||
../../enviroments/client
|
||||
];
|
||||
nixos.users = {
|
||||
|
|
7
hosts/twilight/default.nix
Normal file
7
hosts/twilight/default.nix
Normal file
|
@ -0,0 +1,7 @@
|
|||
# leyla desktop
|
||||
{...}: {
|
||||
imports = [
|
||||
./configuration.nix
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
}
|
1
secrets
1
secrets
|
@ -1 +0,0 @@
|
|||
Subproject commit ef623d6a9e25c1f0ec9d282ab5ed5dff54674816
|
|
@ -1,14 +0,0 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
imports = [./leyla ./ester ./eve];
|
||||
|
||||
users.mutableUsers = false;
|
||||
|
||||
home-manager.users = import ./home.nix {
|
||||
lib = lib;
|
||||
config = config;
|
||||
};
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
leyla = lib.mkIf (config.nixos.users.leyla.isDesktopUser || config.nixos.users.leyla.isTerminalUser) (import ./leyla/home.nix);
|
||||
ester = lib.mkIf config.nixos.users.ester.isDesktopUser (import ./ester/home.nix);
|
||||
eve = lib.mkIf config.nixos.users.eve.isDesktopUser (import ./eve/home.nix);
|
||||
}
|
|
@ -1,132 +0,0 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
programs = {
|
||||
# firefox = {
|
||||
# enable = true;
|
||||
# profiles.leyla = {
|
||||
|
||||
# settings = {
|
||||
# "browser.search.defaultenginename" = "Searx";
|
||||
# "browser.search.order.1" = "Searx";
|
||||
# };
|
||||
|
||||
# search = {
|
||||
# force = true;
|
||||
# default = "Searx";
|
||||
# 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}"; }];
|
||||
# iconUpdateURL = "https://nixos.wiki/favicon.png";
|
||||
# updateInterval = 24 * 60 * 60 * 1000; # every day
|
||||
# definedAliases = [ "@nw" ];
|
||||
# };
|
||||
# "Searx" = {
|
||||
# urls = [{ template = "https://search.jan-leila.com/?q={searchTerms}"; }];
|
||||
# iconUpdateURL = "https://nixos.wiki/favicon.png";
|
||||
# updateInterval = 24 * 60 * 60 * 1000; # every day
|
||||
# definedAliases = [ "@searx" ];
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
|
||||
# extentions = with pkgs.nur.repos.rycee.firefox-addons; [
|
||||
# ublock-origin
|
||||
# bitwarden
|
||||
|
||||
# ];
|
||||
|
||||
# bookmarks = [
|
||||
# {
|
||||
# name = "Media";
|
||||
# url = "https://jellyfin.jan-leila.com/";
|
||||
# keyword = "";
|
||||
# tags = [""];
|
||||
# }
|
||||
# {
|
||||
# name = "Drive";
|
||||
# url = "https://drive.jan-leila.com/";
|
||||
# keyword = "";
|
||||
# tags = [""];
|
||||
# }
|
||||
# {
|
||||
# name = "Git";
|
||||
# url = "https://git.jan-leila.com/";
|
||||
# keyword = "";
|
||||
# tags = [""];
|
||||
# }
|
||||
# {
|
||||
# name = "Home Automation";
|
||||
# url = "https://home-assistant.jan-leila.com/";
|
||||
# keyword = "";
|
||||
# tags = [""];
|
||||
# }
|
||||
# {
|
||||
# name = "Mail";
|
||||
# url = "https://mail.protonmail.com";
|
||||
# keyword = "";
|
||||
# tags = [""];
|
||||
# }
|
||||
# {
|
||||
# name = "Open Street Map";
|
||||
# url = "https://www.openstreetmap.org/";
|
||||
# keyword = "";
|
||||
# tags = [""];
|
||||
# }
|
||||
# {
|
||||
# name = "Password Manager";
|
||||
# url = "https://vault.bitwarden.com/";
|
||||
# keyword = "";
|
||||
# tags = [""];
|
||||
# }
|
||||
# {
|
||||
# name = "Mastodon";
|
||||
# url = "https://tech.lgbt";
|
||||
# keyword = "";
|
||||
# tags = [""];
|
||||
# }
|
||||
# {
|
||||
# name = "Linked In";
|
||||
# url = "https://www.linkedin.com/";
|
||||
# keyword = "";
|
||||
# tags = [""];
|
||||
# }
|
||||
# {
|
||||
# name = "Job Search";
|
||||
# url = "https://www.jobsinnetwork.com/?state=cleaned_history&language%5B%5D=en&query=react&locations.countryCode%5B%5D=IT&locations.countryCode%5B%5D=DE&locations.countryCode%5B%5D=NL&experience%5B%5D=medior&experience%5B%5D=junior&page=1";
|
||||
# keyword = "";
|
||||
# tags = [""];
|
||||
# }
|
||||
# {
|
||||
# name = "React Docs";
|
||||
# url = "https://react.dev/";
|
||||
# keyword = "";
|
||||
# tags = [""];
|
||||
# }
|
||||
# # Template
|
||||
# # {
|
||||
# # name = "";
|
||||
# # url = "";
|
||||
# # keyword = "";
|
||||
# # tags = [""];
|
||||
# # }
|
||||
# ];
|
||||
# };
|
||||
# }
|
||||
};
|
||||
}
|
|
@ -1,8 +1,61 @@
|
|||
{lib, ...}: {
|
||||
{inputs}: let
|
||||
util = (import ./default.nix) {inherit inputs;};
|
||||
outputs = inputs.self.outputs;
|
||||
|
||||
lib = inputs.lib;
|
||||
lix-module = inputs.lix-module;
|
||||
nixpkgs = inputs.nixpkgs;
|
||||
home-manager = inputs.home-manager;
|
||||
sops-nix = inputs.sops-nix;
|
||||
|
||||
systems = [
|
||||
"aarch64-darwin"
|
||||
"aarch64-linux"
|
||||
"x86_64-darwin"
|
||||
"x86_64-linux"
|
||||
];
|
||||
forEachSystem = nixpkgs.lib.genAttrs systems;
|
||||
pkgsFor = system: nixpkgs.legacyPackages.${system};
|
||||
|
||||
home-manager-config = {
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.backupFileExtension = "backup";
|
||||
home-manager.extraSpecialArgs = {inherit inputs;};
|
||||
home-manager.users = import ../homes;
|
||||
};
|
||||
in {
|
||||
forEachPkgs = lambda: forEachSystem (system: lambda (pkgsFor system));
|
||||
|
||||
mkUnless = condition: yes: (lib.mkIf (!condition) yes);
|
||||
mkIfElse = condition: yes: no:
|
||||
lib.mkMerge [
|
||||
(lib.mkIf condition yes)
|
||||
(lib.mkUnless condition no)
|
||||
];
|
||||
|
||||
mkSystem = host:
|
||||
inputs.nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {inherit inputs outputs util;};
|
||||
modules = [
|
||||
lix-module.nixosModules.default
|
||||
sops-nix.nixosModules.sops
|
||||
home-manager.nixosModules.home-manager
|
||||
home-manager-config
|
||||
../overlays
|
||||
../hosts/${host}
|
||||
];
|
||||
};
|
||||
|
||||
# mkHome = user: host:
|
||||
# home-manager.lib.homeManagerConfiguration {
|
||||
# # pkgs = pkgsFor system;
|
||||
# extraSpecialArgs = {
|
||||
# inherit inputs util outputs;
|
||||
# };
|
||||
# modules = [
|
||||
# # config
|
||||
# outputs.homeManagerModules.default
|
||||
# ];
|
||||
# };
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue