restructured project to split out home manager
This commit is contained in:
parent
c8e7944da5
commit
18f51a65c2
|
@ -4,7 +4,7 @@
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
../../users
|
./users
|
||||||
];
|
];
|
||||||
|
|
||||||
nix = {
|
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,
|
lib,
|
||||||
config,
|
config,
|
||||||
pkgs,
|
|
||||||
inputs,
|
inputs,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
|
@ -1,7 +1,6 @@
|
||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
config,
|
config,
|
||||||
pkgs,
|
|
||||||
inputs,
|
inputs,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
78
flake.nix
78
flake.nix
|
@ -34,7 +34,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
# firefox-addons = {
|
# 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";
|
# inputs.nixpkgs.follows = "nixpkgs";
|
||||||
# };
|
# };
|
||||||
|
|
||||||
|
@ -59,32 +59,13 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = {
|
outputs = {...} @ inputs: let
|
||||||
nixpkgs,
|
util = import ./util {inherit inputs;};
|
||||||
disko,
|
forEachPkgs = util.forEachPkgs;
|
||||||
# impermanence,
|
mkSystem = util.mkSystem;
|
||||||
nixos-hardware,
|
# mkHome = util.mkHome;
|
||||||
home-manager,
|
# callPackage = nixpkgs.lib.callPackageWith (nixpkgs // {lib = lib;});
|
||||||
lix-module,
|
# lib = callPackage ./lib {} // nixpkgs.lib;
|
||||||
...
|
|
||||||
} @ 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;
|
|
||||||
in {
|
in {
|
||||||
packages = forEachPkgs (import ./pkgs);
|
packages = forEachPkgs (import ./pkgs);
|
||||||
|
|
||||||
|
@ -108,44 +89,15 @@
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
|
# homeConfigurations = {
|
||||||
|
# "leyla@horizon" = mkHome "leyla" "horizon"; # "x86_64-linux" ./homes/leyla;
|
||||||
|
# };
|
||||||
|
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
# Leyla Laptop
|
# Leyla Laptop
|
||||||
horizon = nixpkgs.lib.nixosSystem {
|
horizon = mkSystem "horizon";
|
||||||
specialArgs = {inherit inputs lib;};
|
twilight = mkSystem "twilight";
|
||||||
modules = [
|
defiant = mkSystem "defiant";
|
||||||
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
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
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,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
config,
|
|
||||||
osConfig,
|
osConfig,
|
||||||
...
|
...
|
||||||
}: let
|
}: 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;
|
open-vsx = extensions.open-vsx;
|
||||||
vscode-marketplace = extensions.vscode-marketplace;
|
vscode-marketplace = extensions.vscode-marketplace;
|
||||||
in {
|
in {
|
||||||
enable = true;
|
enable = cfg.isDesktopUser;
|
||||||
|
|
||||||
package = pkgs.vscodium;
|
package = pkgs.vscodium;
|
||||||
|
|
|
@ -1,15 +1,11 @@
|
||||||
# server nas
|
# server nas
|
||||||
{
|
{
|
||||||
pkgs,
|
|
||||||
inputs,
|
inputs,
|
||||||
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
inputs.home-manager.nixosModules.default
|
inputs.disko.nixosModules.disko
|
||||||
inputs.sops-nix.nixosModules.sops
|
|
||||||
|
|
||||||
./hardware-configuration.nix
|
|
||||||
|
|
||||||
../../enviroments/server
|
../../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, ...}: {
|
{inputs, ...}: {
|
||||||
imports = [
|
imports = [
|
||||||
inputs.home-manager.nixosModules.default
|
inputs.nixos-hardware.nixosModules.framework-11th-gen-intel
|
||||||
inputs.sops-nix.nixosModules.sops
|
|
||||||
|
|
||||||
./hardware-configuration.nix
|
|
||||||
|
|
||||||
../../enviroments/client
|
../../enviroments/client
|
||||||
];
|
];
|
||||||
|
@ -13,12 +9,12 @@
|
||||||
leyla = {
|
leyla = {
|
||||||
isDesktopUser = true;
|
isDesktopUser = true;
|
||||||
};
|
};
|
||||||
ester = {
|
# ester = {
|
||||||
isDesktopUser = true;
|
# isDesktopUser = true;
|
||||||
};
|
# };
|
||||||
eve = {
|
# eve = {
|
||||||
isDesktopUser = true;
|
# isDesktopUser = true;
|
||||||
};
|
# };
|
||||||
};
|
};
|
||||||
|
|
||||||
# enabled virtualisation for docker
|
# 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
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
inputs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
imports = [
|
||||||
inputs.home-manager.nixosModules.default
|
|
||||||
inputs.sops-nix.nixosModules.sops
|
|
||||||
|
|
||||||
./hardware-configuration.nix
|
|
||||||
|
|
||||||
../../enviroments/client
|
../../enviroments/client
|
||||||
];
|
];
|
||||||
nixos.users = {
|
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);
|
mkUnless = condition: yes: (lib.mkIf (!condition) yes);
|
||||||
mkIfElse = condition: yes: no:
|
mkIfElse = condition: yes: no:
|
||||||
lib.mkMerge [
|
lib.mkMerge [
|
||||||
(lib.mkIf condition yes)
|
(lib.mkIf condition yes)
|
||||||
(lib.mkUnless condition no)
|
(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