Switching to flake-parts
This commit is contained in:
@@ -22,170 +22,66 @@
|
||||
url = "github:nix-community/nix-index-database";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||
};
|
||||
|
||||
outputs =
|
||||
{
|
||||
inputs@{
|
||||
self,
|
||||
nixpkgs,
|
||||
flake-parts,
|
||||
home-manager,
|
||||
claude-code,
|
||||
nix-index-database,
|
||||
...
|
||||
}:
|
||||
let
|
||||
modules-for-system =
|
||||
pkgs:
|
||||
pkgs.stdenv.mkDerivation {
|
||||
name = "home-manager-modules";
|
||||
src = pkgs.lib.fileset.toSource {
|
||||
root = ./.;
|
||||
fileset = pkgs.lib.fileset.unions [
|
||||
./home.org
|
||||
];
|
||||
};
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
${pkgs.emacs}/bin/emacs --batch --eval "(require 'org)" --eval '(org-babel-tangle-file "home.org")'
|
||||
runHook postBuild
|
||||
'';
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
cp -R target $out
|
||||
runHook postInstall
|
||||
'';
|
||||
pkgs-for-system =
|
||||
system:
|
||||
import nixpkgs {
|
||||
inherit system;
|
||||
config.allowUnfree = true;
|
||||
overlays = [
|
||||
claude-code.overlays.default
|
||||
];
|
||||
};
|
||||
in
|
||||
{
|
||||
homeConfigurations.redbook =
|
||||
let
|
||||
pkgs = import nixpkgs {
|
||||
system = "aarch64-darwin";
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
modules = modules-for-system pkgs;
|
||||
in
|
||||
home-manager.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
flake-parts.lib.mkFlake { inherit inputs; } {
|
||||
imports = [
|
||||
inputs.home-manager.flakeModules.home-manager
|
||||
];
|
||||
flake = {
|
||||
homeModules.jfrikker = import ./modules/home;
|
||||
|
||||
homeConfigurations.redbook = home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = pkgs-for-system "aarch64-darwin";
|
||||
modules = [
|
||||
nix-index-database.homeModules.default
|
||||
"${modules}"
|
||||
]
|
||||
++ [
|
||||
{
|
||||
home.stateVersion = "22.05";
|
||||
home.username = "jfrikker";
|
||||
home.homeDirectory = "/Users/jfrikker";
|
||||
home.packages = [ pkgs.pinentry_mac ];
|
||||
jfrikker.enable = true;
|
||||
jfrikker.desktop.enable = true;
|
||||
jfrikker.redbook.enable = true;
|
||||
}
|
||||
self.homeModules.jfrikker
|
||||
(import ./home/redbook.nix)
|
||||
];
|
||||
|
||||
extraSpecialArgs = {
|
||||
claude-code = claude-code.packages.aarch64-darwin.default;
|
||||
};
|
||||
};
|
||||
homeConfigurations.home =
|
||||
let
|
||||
pkgs = import nixpkgs {
|
||||
system = "x86_64-linux";
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
modules = modules-for-system pkgs;
|
||||
in
|
||||
home-manager.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
|
||||
homeConfigurations.home = home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = pkgs-for-system "x86_64-linux";
|
||||
modules = [
|
||||
nix-index-database.homeModules.default
|
||||
"${modules}"
|
||||
]
|
||||
++ [
|
||||
{
|
||||
home.stateVersion = "22.05";
|
||||
home.username = "jfrikker";
|
||||
home.homeDirectory = "/home/jfrikker";
|
||||
jfrikker.enable = true;
|
||||
}
|
||||
self.homeModules.jfrikker
|
||||
(import ./home/home.nix)
|
||||
];
|
||||
|
||||
extraSpecialArgs = {
|
||||
claude-code = claude-code.packages.x86_64-linux.default;
|
||||
};
|
||||
};
|
||||
homeConfigurations.home-laptop =
|
||||
let
|
||||
pkgs = import nixpkgs {
|
||||
system = "x86_64-linux";
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
modules = modules-for-system pkgs;
|
||||
in
|
||||
home-manager.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
|
||||
homeConfigurations.home-laptop = home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = pkgs-for-system "x86_64-linux";
|
||||
|
||||
modules = [
|
||||
nix-index-database.homeModules.default
|
||||
"${modules}"
|
||||
]
|
||||
++ [
|
||||
{
|
||||
home.stateVersion = "22.05";
|
||||
home.username = "jfrikker";
|
||||
home.homeDirectory = "/home/jfrikker";
|
||||
# home.packages = [ pkgs.pinentry ];
|
||||
jfrikker.enable = true;
|
||||
jfrikker.desktop.enable = true;
|
||||
|
||||
programs.ghostty = {
|
||||
enable = true;
|
||||
settings = {
|
||||
font-family = "Iosevka Term Extended";
|
||||
font-size = 10;
|
||||
};
|
||||
};
|
||||
|
||||
programs.foot = {
|
||||
enable = true;
|
||||
settings = {
|
||||
main = {
|
||||
font = "Iosevka Term:size=10:width=expanded";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
home.pointerCursor = {
|
||||
enable = true;
|
||||
package = pkgs.vanilla-dmz;
|
||||
name = "Vanilla-DMZ";
|
||||
sway.enable = true;
|
||||
gtk.enable = true;
|
||||
};
|
||||
|
||||
wayland.windowManager.sway = {
|
||||
enable = true;
|
||||
config.modifier = "Mod4";
|
||||
# config.terminal = "${pkgs.ghostty}/bin/ghostty";
|
||||
config.input = {
|
||||
"1452:628:bcm5974" = {
|
||||
scroll_factor = "0.4";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs.emacs.package = pkgs.emacs-pgtk;
|
||||
}
|
||||
self.homeModules.jfrikker
|
||||
(import ./home/home-laptop.nix)
|
||||
];
|
||||
|
||||
# extraSpecialArgs = { kube = kube.packages.x86_64-linux.default; };
|
||||
extraSpecialArgs = {
|
||||
claude-code = claude-code.packages.x86_64-linux.default;
|
||||
};
|
||||
};
|
||||
packages.x86_64-linux.default = modules-for-system nixpkgs.legacyPackages.x86_64-linux;
|
||||
packages.aarch64-darwin.default = modules-for-system nixpkgs.legacyPackages.aarch64-darwin;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user