2023-10-12 22:51:18 +02:00
|
|
|
{
|
|
|
|
description = "Home Manager configuration of xenia";
|
|
|
|
|
|
|
|
inputs = {
|
|
|
|
# Specify the source of Home Manager and Nixpkgs.
|
|
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
|
|
|
|
|
|
|
home-manager = {
|
|
|
|
url = "github:nix-community/home-manager";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
|
|
|
kak = {
|
|
|
|
url = "git+https://githug.xyz/xenia/kakoune.git";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
|
|
|
unispect = {
|
|
|
|
url = "git+https://git@githug.xyz/xenia/unispect";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
|
|
|
ansi-utils = {
|
|
|
|
url = "git+https://git@githug.xyz/xenia/ansi-utils";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
|
|
|
unambig-path = {
|
|
|
|
url = "git+https://git@githug.xyz/xenia/unambig-path";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
outputs = { self, nixpkgs, home-manager, kak, unispect, ansi-utils, unambig-path }:
|
|
|
|
let
|
|
|
|
xdg-runtime-dir = "/tmp/xdg-rt";
|
|
|
|
|
2023-10-18 23:56:44 +02:00
|
|
|
mkPkgs = system: import nixpkgs { system = system; config.allowUnfree = true; };
|
2023-10-19 00:21:53 +02:00
|
|
|
mkHome = {username, home-dir, prompt-color, system, pkgs} : import ./home.nix {
|
|
|
|
inherit username home-dir prompt-color pkgs xdg-runtime-dir;
|
2023-10-19 00:18:10 +02:00
|
|
|
|
2023-10-12 22:51:18 +02:00
|
|
|
kak-pkg = kak.packages.${system}.kak;
|
|
|
|
unispect = unispect.packages.${system}.unispect;
|
|
|
|
ansi-utils = ansi-utils.packages.${system};
|
|
|
|
unambig-path = unambig-path.packages.${system}.unambig-path;
|
|
|
|
};
|
2023-10-19 00:10:11 +02:00
|
|
|
mkLaptop = {system, pkgs} : import ./laptop.nix {
|
|
|
|
inherit pkgs xdg-runtime-dir;
|
|
|
|
};
|
|
|
|
mkMac = {system, pkgs, laptop} : import ./mac.nix {
|
|
|
|
emacs = laptop.programs.emacs.package;
|
|
|
|
inherit pkgs xdg-runtime-dir;
|
|
|
|
};
|
2023-10-12 22:51:18 +02:00
|
|
|
in {
|
2023-10-18 23:56:44 +02:00
|
|
|
homeConfigurations."xenia" =
|
|
|
|
let
|
|
|
|
system = "aarch64-darwin";
|
|
|
|
pkgs = mkPkgs system;
|
2023-10-19 00:18:10 +02:00
|
|
|
home = mkHome {
|
|
|
|
username = "xenia";
|
|
|
|
home-dir = "/Users/xenia";
|
2023-10-19 00:21:53 +02:00
|
|
|
prompt-color = 172;
|
2023-10-19 00:18:10 +02:00
|
|
|
inherit system pkgs;
|
|
|
|
};
|
2023-10-19 00:10:11 +02:00
|
|
|
laptop = mkLaptop { inherit system pkgs; };
|
|
|
|
mac = mkMac { inherit system pkgs laptop; };
|
2023-10-18 23:56:44 +02:00
|
|
|
in home-manager.lib.homeManagerConfiguration {
|
|
|
|
inherit pkgs;
|
|
|
|
|
|
|
|
modules = [
|
|
|
|
home
|
2023-10-19 00:10:11 +02:00
|
|
|
laptop
|
|
|
|
mac
|
2023-10-18 23:56:44 +02:00
|
|
|
];
|
2023-10-12 22:51:18 +02:00
|
|
|
};
|
2023-10-18 23:56:44 +02:00
|
|
|
|
2023-10-18 23:57:01 +02:00
|
|
|
homeConfigurations."coral" =
|
|
|
|
let
|
|
|
|
system = "x86_64-linux";
|
|
|
|
pkgs = mkPkgs system;
|
2023-10-19 00:18:10 +02:00
|
|
|
home = mkHome {
|
|
|
|
username = "coral";
|
|
|
|
home-dir = "/home/coral";
|
2023-10-19 00:21:53 +02:00
|
|
|
prompt-color = 197;
|
2023-10-19 00:18:10 +02:00
|
|
|
inherit system pkgs;
|
|
|
|
};
|
2023-10-18 23:57:01 +02:00
|
|
|
in home-manager.lib.homeManagerConfiguration {
|
|
|
|
inherit pkgs;
|
|
|
|
|
|
|
|
modules = [
|
|
|
|
home
|
|
|
|
];
|
|
|
|
};
|
2023-10-12 22:51:18 +02:00
|
|
|
};
|
|
|
|
}
|