marleyos/flake.nix

89 lines
2.2 KiB
Nix

{
description = "marleyOS";
outputs =
{ self, ... }@inputs:
inputs.flake-parts.lib.mkFlake { inherit inputs; } {
debug = true;
systems = [
"x86_64-linux"
];
imports = [
inputs.nixos-unified.flakeModules.default
inputs.devenv.flakeModule
];
flake = {
homeModules.marley =
{ pkgs, ... }:
{
imports =
let
myHomeMods = "${self}/modules/home";
in
[
inputs.rose-pine.homeManagerModules.rose-pine
"${myHomeMods}/iconTheme.nix"
"${myHomeMods}/me.nix"
"${myHomeMods}/shellAbbrs.nix"
"${self}/home"
];
};
};
perSystem =
{ pkgs, ... }:
let
me = "marley";
home = if pkgs.stdenv.isDarwin then "Users" else "home";
inherit (self.nixos-unified.lib) mkHomeConfiguration;
in
{
legacyPackages.homeConfigurations."${me}" = mkHomeConfiguration pkgs (
{ pkgs, ... }:
{
imports = [ self.homeModules."${me}" ];
home.username = me;
home.homeDirectory = "/${home}/${me}";
home.stateVersion = "24.05";
}
);
# Base dev shell
devenv.shells.default = {
imports = [ "${self}/shells/base.nix" ];
};
formatter = pkgs.nixfmt-rfc-style;
};
};
inputs = {
flake-parts.url = "github:hercules-ci/flake-parts";
nixos-unified.url = "github:srid/nixos-unified";
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
devenv.url = "github:cachix/devenv";
rose-pine.url = "git+https://codewith.babesonthe.net/punkfairie/rose-pine-nix";
# Rose pine themes that aren't included in the above flake:
# TODO: Integrate these to punkfairie/rose-pine-nix.
rose-pine-amfora = {
url = "github:rose-pine/amfora";
flake = false;
};
rose-pine-qt5ct = {
url = "github:piperbly/rose-pine-qt5ct";
flake = false;
};
};
}