refactor: limit use of with lib
All checks were successful
Discord / discord commits (push) Has been skipped
All checks were successful
Discord / discord commits (push) Has been skipped
This commit is contained in:
parent
7fd12f5b04
commit
20dac8791e
16 changed files with 74 additions and 50 deletions
|
@ -1,15 +1,17 @@
|
|||
{lib, ...}: {
|
||||
imports = [./programs.nix];
|
||||
{lib, ...}: let
|
||||
inherit (lib) fileContents;
|
||||
|
||||
programs = {
|
||||
starship = let
|
||||
# TODO: have different colors depending on host
|
||||
textColor = "#e3e5e5";
|
||||
firstColor = "#bd93f9";
|
||||
secondColor = "#715895";
|
||||
thirdColor = "#382c4a";
|
||||
fourthColor = "#120e18";
|
||||
in {
|
||||
in {
|
||||
imports = [./programs.nix];
|
||||
|
||||
programs = {
|
||||
starship = {
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
settings = {
|
||||
|
@ -143,11 +145,11 @@
|
|||
# Check if shell is interactive
|
||||
[[ $- == *i* ]] || return 0
|
||||
|
||||
${lib.strings.fileContents ./config/dracula/less.sh}
|
||||
${lib.strings.fileContents ./config/dracula/fzf.sh}
|
||||
${fileContents ./config/dracula/less.sh}
|
||||
${fileContents ./config/dracula/fzf.sh}
|
||||
|
||||
${lib.strings.fileContents ./config/colorgrid.sh}
|
||||
${lib.strings.fileContents ./config/bashrc}
|
||||
${fileContents ./config/colorgrid.sh}
|
||||
${fileContents ./config/bashrc}
|
||||
'';
|
||||
#initExtra = ''
|
||||
#'';
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{
|
||||
{...}: {
|
||||
imports = [
|
||||
./bash
|
||||
./git
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
coc-stylelintplus-flake,
|
||||
tree-sitter-hyprlang-flake,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
}: let
|
||||
inherit (config.vars) neovimIde;
|
||||
inherit (lib) fileContents optionalAttrs optionals;
|
||||
|
||||
javaSdk = pkgs.temurin-bin-17;
|
||||
nvim-treesitter-hyprlang = tree-sitter-hyprlang-flake.packages.${pkgs.system}.default;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{
|
||||
{...}: {
|
||||
imports = [
|
||||
./cachix.nix
|
||||
./locale.nix
|
||||
|
|
|
@ -3,18 +3,18 @@
|
|||
lib,
|
||||
nixpkgs,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
}: let
|
||||
inherit (config.sops.secrets) access-token;
|
||||
inherit (lib) hasAttr optionalString;
|
||||
in {
|
||||
# Minimize dowloads of indirect nixpkgs flakes
|
||||
nix = {
|
||||
registry.nixpkgs.flake = nixpkgs;
|
||||
nixPath = ["nixpkgs=${nixpkgs}"];
|
||||
|
||||
extraOptions =
|
||||
if (hasAttr "sops" config)
|
||||
then "!include ${access-token.path}"
|
||||
else "";
|
||||
optionalString (hasAttr "sops" config)
|
||||
"!include ${access-token.path}";
|
||||
};
|
||||
|
||||
# Global hm settings
|
||||
|
|
|
@ -3,7 +3,9 @@
|
|||
pkgs,
|
||||
...
|
||||
} @ inputs:
|
||||
with lib; let
|
||||
let
|
||||
inherit (lib) concatMapAttrs filterAttrs mkOption pathExists types;
|
||||
|
||||
mkPackage = name: v: {
|
||||
${name} = pkgs.callPackage ./${name} inputs;
|
||||
};
|
||||
|
|
|
@ -3,8 +3,9 @@
|
|||
lib,
|
||||
...
|
||||
}: {
|
||||
options.vars = with lib; let
|
||||
inherit (config.vars) mainUser hostName;
|
||||
options.vars = let
|
||||
inherit (lib) mkOption types;
|
||||
cfg = config.vars;
|
||||
in {
|
||||
mainUser = mkOption {
|
||||
type = types.str;
|
||||
|
@ -22,7 +23,7 @@
|
|||
|
||||
configDir = mkOption {
|
||||
type = types.str;
|
||||
default = "/home/${mainUser}/.nix/devices/${hostName}/config";
|
||||
default = "/home/${cfg.mainUser}/.nix/devices/${cfg.hostName}/config";
|
||||
description = ''
|
||||
The path to where most of the devices' configs are in the .nix folder
|
||||
'';
|
||||
|
|
|
@ -1,5 +1,12 @@
|
|||
{config, ...}: let
|
||||
inherit (config.vars) mainUser hostName;
|
||||
tailscaleNameservers =
|
||||
config
|
||||
.services
|
||||
.headscale
|
||||
.settings
|
||||
.dns_config
|
||||
.nameservers;
|
||||
in {
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
|
@ -37,7 +44,7 @@ in {
|
|||
networking = {
|
||||
inherit hostName;
|
||||
resolvconf.enable = true;
|
||||
nameservers = config.services.headscale.settings.dns_config.nameservers ++ ["1.0.0.1"];
|
||||
nameservers = tailscaleNameservers ++ ["1.0.0.1"];
|
||||
firewall.enable = false;
|
||||
};
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (builtins) readFile;
|
||||
inherit (config.vars) mainUser;
|
||||
headscale-flake = headscale.packages.${pkgs.system}.headscale;
|
||||
in {
|
||||
|
@ -12,7 +13,7 @@ in {
|
|||
users.users.${mainUser}.extraGroups = ["headscale"];
|
||||
|
||||
home-manager.users.${mainUser}
|
||||
.programs.bash.bashrcExtra = lib.mkAfter (builtins.readFile ./completion.bash);
|
||||
.programs.bash.bashrcExtra = lib.mkAfter (readFile ./completion.bash);
|
||||
|
||||
services.headscale = {
|
||||
enable = true;
|
||||
|
|
|
@ -13,7 +13,8 @@ in {
|
|||
IdentitiesOnly yes
|
||||
IdentityFile ${config.sops.secrets.nixremote.path}
|
||||
|
||||
# The weakly privileged user on the remote builder – if not set, 'root' is used – which will hopefully fail
|
||||
# The weakly privileged user on the remote builder – if not set,
|
||||
# 'root' is used – which will hopefully fail
|
||||
User nixremote
|
||||
'';
|
||||
};
|
||||
|
|
|
@ -5,10 +5,24 @@
|
|||
pkgs,
|
||||
self,
|
||||
...
|
||||
} @ inputs:
|
||||
with lib;
|
||||
with builtins; let
|
||||
} @ inputs: let
|
||||
inherit
|
||||
(lib)
|
||||
filter
|
||||
hasSuffix
|
||||
filesystem
|
||||
hasAttr
|
||||
mapAttrs
|
||||
filterAttrs
|
||||
listToAttrs
|
||||
elemAt
|
||||
match
|
||||
removePrefix
|
||||
optionalAttrs
|
||||
mkForce
|
||||
;
|
||||
inherit (config.vars) mainUser hostName;
|
||||
|
||||
configPath = "/var/lib/arion";
|
||||
in {
|
||||
imports = [arion.nixosModules.arion];
|
||||
|
|
|
@ -3,8 +3,9 @@
|
|||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
}: let
|
||||
inherit (lib) filterAttrs mapAttrs mkDefault mkOption types;
|
||||
|
||||
cfg = config.services.borgbackup;
|
||||
secrets = config.sops.secrets;
|
||||
in {
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (builtins) readFile;
|
||||
firefox-addons = pkgs.recurseIntoAttrs (pkgs.callPackage ./addons {});
|
||||
sound-volume = firefox-addons."600-sound-volume";
|
||||
|
||||
|
@ -22,10 +23,10 @@ in {
|
|||
id = 0;
|
||||
|
||||
userChrome = ''
|
||||
${builtins.readFile "${firefox-gx}/chrome/userChrome.css"}
|
||||
${builtins.readFile ./custom.css}
|
||||
${readFile "${firefox-gx}/chrome/userChrome.css"}
|
||||
${readFile ./custom.css}
|
||||
'';
|
||||
extraConfig = builtins.readFile "${firefox-gx}/user.js";
|
||||
extraConfig = readFile "${firefox-gx}/user.js";
|
||||
|
||||
settings = {
|
||||
# Theme
|
||||
|
@ -123,7 +124,7 @@ in {
|
|||
"Noogle" = {
|
||||
urls = [
|
||||
{
|
||||
template = "https://noogle.dev/?term={searchTerms}";
|
||||
template = "https://noogle.dev/q?term={searchTerms}";
|
||||
}
|
||||
];
|
||||
iconUpdateURL = "https://noogle.dev/favicon.ico";
|
||||
|
|
|
@ -1,13 +1,7 @@
|
|||
{
|
||||
nixpkgs,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
{...}: {
|
||||
programs = {
|
||||
wofi = {
|
||||
enable = true;
|
||||
# FIXME: remove when overlay gets fixed
|
||||
package = pkgs.callPackage "${nixpkgs}/pkgs/applications/misc/wofi/default.nix" {};
|
||||
settings = {
|
||||
prompt = "";
|
||||
allow_images = true;
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
pkgs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
}: let
|
||||
inherit (lib) getExe optionals readFile;
|
||||
inherit (config.vars) mainUser greetdDupe mainMonitor;
|
||||
|
||||
# Nix stuff
|
||||
|
|
|
@ -5,10 +5,10 @@
|
|||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
# Config stuff
|
||||
}: let
|
||||
inherit (lib) concatStringsSep optionals;
|
||||
inherit (config.vars) configDir mainUser mainMonitor;
|
||||
|
||||
isNvidia = config.hardware.nvidia.modesetting.enable;
|
||||
isTouchscreen = config.hardware.sensor.iio.enable;
|
||||
in {
|
||||
|
|
Loading…
Reference in a new issue