mirror of
https://github.com/willemml/dotfiles.nix.git
synced 2025-04-12 19:27:17 +00:00
Fix home configurations.
This commit is contained in:
parent
91f6d83bcd
commit
919b042656
13 changed files with 54 additions and 40 deletions
|
@ -5,20 +5,16 @@
|
||||||
|
|
||||||
# https://github.com/terlar/nix-config/blob/00c8a3622e8bc4cb522bbf335e6ede04ca07da40/flake-parts/home-manager/modules.nix
|
# https://github.com/terlar/nix-config/blob/00c8a3622e8bc4cb522bbf335e6ede04ca07da40/flake-parts/home-manager/modules.nix
|
||||||
|
|
||||||
{
|
{ lib
|
||||||
lib,
|
, self
|
||||||
self,
|
, inputs
|
||||||
inputs,
|
, ...
|
||||||
...
|
|
||||||
}: {
|
}: {
|
||||||
flake.homeManagerModules = let
|
flake.homeManagerModules =
|
||||||
modules = self.lib.importDirToAttrs ../../home-manager/modules;
|
let
|
||||||
in
|
modules = self.lib.importDirToAttrs ../../home-manager/modules;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
default = {
|
|
||||||
imports = builtins.attrValues modules;
|
|
||||||
};
|
|
||||||
|
|
||||||
nixpkgs-useFlakeNixpkgs = {
|
nixpkgs-useFlakeNixpkgs = {
|
||||||
home.sessionVariables.NIX_PATH = "nixpkgs=${inputs.nixpkgs}";
|
home.sessionVariables.NIX_PATH = "nixpkgs=${inputs.nixpkgs}";
|
||||||
systemd.user.sessionVariables.NIX_PATH = lib.mkForce "nixpkgs=${inputs.nixpkgs}";
|
systemd.user.sessionVariables.NIX_PATH = lib.mkForce "nixpkgs=${inputs.nixpkgs}";
|
||||||
|
|
|
@ -1,26 +1,38 @@
|
||||||
{ inputs, self, lib, ... }:
|
{ inputs, self, lib, ... }:
|
||||||
{
|
{
|
||||||
perSystem = { pkgs, ... }:
|
flake = {
|
||||||
let
|
homeManagerModules.nixpkgsConfig = {
|
||||||
activationPackages = builtins.mapAttrs (_: lib.getAttr "activationPackage") self.homeConfigurations;
|
nixpkgs.config.allowUnfreePredicate = lib.const true;
|
||||||
in
|
nixpkgs.config.packageOverrides = pkgs: {
|
||||||
{
|
nur = import inputs.nur { inherit pkgs; nurpkgs = pkgs; };
|
||||||
|
};
|
||||||
|
nixpkgs.config.allowUnsupportedSystem = true;
|
||||||
|
nixpkgs.overlays = builtins.attrValues self.overlays;
|
||||||
|
};
|
||||||
|
testOutput = builtins.attrValues self.overlays;
|
||||||
|
};
|
||||||
|
perSystem = { pkgs, self', ... }:
|
||||||
|
rec {
|
||||||
homeConfigurations.willem = inputs.home-manager.lib.homeManagerConfiguration {
|
homeConfigurations.willem = inputs.home-manager.lib.homeManagerConfiguration {
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
modules = [
|
modules = [
|
||||||
|
self.homeManagerModules.nixpkgs-useFlakeNixpkgs
|
||||||
|
self.homeManagerModules.nixpkgsConfig
|
||||||
self.homeManagerModules.profiles-user-willem
|
self.homeManagerModules.profiles-user-willem
|
||||||
];
|
];
|
||||||
extraSpecialArgs = {
|
extraSpecialArgs = {
|
||||||
inherit pkgs;
|
|
||||||
nurNoPkgs = import inputs.nur {
|
nurNoPkgs = import inputs.nur {
|
||||||
nurpkgs = pkgs;
|
nurpkgs = pkgs;
|
||||||
pkgs = throw "nixpkgs eval";
|
pkgs = throw "nixpkgs eval";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
# packages = lib.pipe activationPackages [
|
packages =
|
||||||
# (lib.filterAttrs (_: drv: pkgs.system == drv.system))
|
let activationPackages = builtins.mapAttrs (_: lib.getAttr "activationPackage") homeConfigurations;
|
||||||
# (lib.mapAttrs' (username: lib.nameValuePair "home-${username}"))
|
in
|
||||||
# ];
|
lib.pipe activationPackages [
|
||||||
|
(lib.filterAttrs (_: drv: pkgs.system == drv.system))
|
||||||
|
(lib.mapAttrs' (username: lib.nameValuePair "home-${username}"))
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,13 +2,12 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
flake.overlays = {
|
flake.overlays = {
|
||||||
default = final: prev: (
|
apps = final: prev: (
|
||||||
let
|
let
|
||||||
appsDir = self.lib.importDirToAttrs ../apps;
|
appsDir = self.lib.importDirToAttrs ../apps;
|
||||||
builtApps = lib.mapAttrs (name: value: value.definition self.lib prev) appsDir;
|
|
||||||
packages = import ../packages final prev;
|
|
||||||
in
|
in
|
||||||
builtApps // packages
|
lib.mapAttrs (name: value: value.definition self.lib prev) appsDir
|
||||||
);
|
);
|
||||||
|
default = import ../packages;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, inputs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
passCmd = address: "${pkgs.python310Packages.keyring}/bin/keyring get login email(${address})";
|
passCmd = address: "${pkgs.python310Packages.keyring}/bin/keyring get login email(${address})";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, lib, inputs, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
inherit (lib) mkIf;
|
inherit (lib) mkIf;
|
||||||
|
@ -15,11 +15,15 @@ let
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [ ./launchd.nix ./iterm2.nix ./finder.nix ];
|
imports = [
|
||||||
|
./finder.nix
|
||||||
|
./iterm2.nix
|
||||||
|
./launchd.nix
|
||||||
|
];
|
||||||
|
|
||||||
home.file.".gnupg/gpg-agent.conf" = mkIf stdenv.isDarwin {
|
home.file.".gnupg/gpg-agent.conf" = mkIf stdenv.isDarwin {
|
||||||
text = ''
|
text = ''
|
||||||
pinentry-program "${pkgs.pinentry-touchid}/bin/pinentry-touchid"
|
pinentry-program "${pkgs.pinentryTouchid}/bin/pinentry-touchid"
|
||||||
default-cache-ttl 30
|
default-cache-ttl 30
|
||||||
max-cache-ttl 600
|
max-cache-ttl 600
|
||||||
'';
|
'';
|
||||||
|
@ -43,8 +47,8 @@ in
|
||||||
pinentry = "pinentry-mac";
|
pinentry = "pinentry-mac";
|
||||||
} // lib.attrsets.mapAttrs (name: value: "open -a '" + value + "'") appCommands);
|
} // lib.attrsets.mapAttrs (name: value: "open -a '" + value + "'") appCommands);
|
||||||
|
|
||||||
programs.firefox.package = mkIf stdenv.isDarwin (pkgs.callPackage ../overlays/firefox-mac.nix { inherit pkgs; });
|
programs.firefox.package = mkIf stdenv.isDarwin pkgs.firefoxMac;
|
||||||
programs.chromium.package = mkIf stdenv.isDarwin (pkgs.callPackage ../overlays/chromium-mac.nix { inherit pkgs; });
|
programs.chromium.package = mkIf stdenv.isDarwin pkgs.chromiumMac;
|
||||||
|
|
||||||
targets.darwin = mkIf stdenv.isDarwin {
|
targets.darwin = mkIf stdenv.isDarwin {
|
||||||
defaults = {
|
defaults = {
|
|
@ -46,9 +46,9 @@ rec {
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
./accounts.nix
|
./accounts.nix
|
||||||
./darwin.nix
|
./darwin
|
||||||
./feeds.nix
|
./feeds.nix
|
||||||
./packages.nix
|
./packages.nix
|
||||||
./programs.nix
|
./programs
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,8 +3,8 @@
|
||||||
let
|
let
|
||||||
darwin = with pkgs; [
|
darwin = with pkgs; [
|
||||||
pngpaste
|
pngpaste
|
||||||
pinentry-touchid
|
pinentryTouchid
|
||||||
pinentry-mac
|
pinentryMac
|
||||||
spoof-mac
|
spoof-mac
|
||||||
];
|
];
|
||||||
linux = with pkgs; [ ];
|
linux = with pkgs; [ ];
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
{ lib, config, inputs, pkgs, ... }: {
|
{ lib, config, pkgs, ... }: {
|
||||||
imports = [ ./emacs.nix ./firefox.nix ];
|
imports = [
|
||||||
|
./emacs.nix
|
||||||
|
./firefox.nix
|
||||||
|
];
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
bash.enableCompletion = true;
|
bash.enableCompletion = true;
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, inputs, nurNoPkgs, ... }:
|
{ config, pkgs, nurNoPkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
pcfg = config.programs.emacs.init.usePackage;
|
pcfg = config.programs.emacs.init.usePackage;
|
Loading…
Add table
Reference in a new issue