mirror of
https://codeberg.org/tmayoff/.dotfiles.git
synced 2025-12-06 08:48:34 -05:00
147 lines
4 KiB
Nix
147 lines
4 KiB
Nix
{
|
|
description = "Home manager flake";
|
|
|
|
inputs = {
|
|
# System configuration
|
|
determinate.url = "https://flakehub.com/f/DeterminateSystems/determinate/*";
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
|
|
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
|
home-manager = {
|
|
url = "github:nix-community/home-manager";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
darwin = {
|
|
url = "github:nix-darwin/nix-darwin/master";
|
|
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
|
};
|
|
|
|
# Software
|
|
helix = {
|
|
url = "github:helix-editor/helix/bfcbef10c513108c7b43317569416c2eefc4ed44";
|
|
};
|
|
|
|
niri = {
|
|
url = "github:sodiboo/niri-flake";
|
|
};
|
|
|
|
noctalia = {
|
|
url = "github:noctalia-dev/noctalia-shell/main";
|
|
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
|
};
|
|
|
|
quickshell = {
|
|
url = "github:outfoxxed/quickshell";
|
|
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
|
};
|
|
|
|
# Theming
|
|
firefox-gnome-theme = {
|
|
url = "github:rafaelmardojai/firefox-gnome-theme";
|
|
flake = false;
|
|
};
|
|
};
|
|
|
|
outputs = {
|
|
self,
|
|
nixpkgs,
|
|
nixpkgs-unstable,
|
|
determinate,
|
|
home-manager,
|
|
darwin,
|
|
helix,
|
|
niri,
|
|
noctalia,
|
|
quickshell,
|
|
...
|
|
} @ inputs: let
|
|
inherit (self) outputs;
|
|
|
|
systems = [
|
|
"x86_64-linux"
|
|
"aarch64-darwin"
|
|
];
|
|
|
|
forAllSystems = nixpkgs.lib.genAttrs systems;
|
|
|
|
allPkgs = forAllSystems (system: import nixpkgs {inherit system;});
|
|
|
|
nixosModules = ./modules/nixos;
|
|
homeModules = ./modules/home;
|
|
darwinModules = ./modules/darwin;
|
|
in {
|
|
overlays = import ./overlays {inherit inputs;};
|
|
|
|
defaultPackage = forAllSystems (system: home-manager.defaultPackage.${system});
|
|
|
|
nixosConfigurations = {
|
|
mal = nixpkgs.lib.nixosSystem {
|
|
specialArgs = {inherit inputs outputs;};
|
|
modules = [
|
|
determinate.nixosModules.default
|
|
./machines/mal/configuration.nix
|
|
|
|
home-manager.nixosModules.home-manager
|
|
{
|
|
home-manager.useGlobalPkgs = true;
|
|
home-manager.useUserPackages = true;
|
|
|
|
# home-manager.backupFileExtension = "bak";
|
|
home-manager.extraSpecialArgs = {inherit inputs outputs nixosModules homeModules darwinModules;};
|
|
home-manager.users.tyler = import ./machines/mal/home.nix;
|
|
}
|
|
];
|
|
};
|
|
|
|
wash = nixpkgs.lib.nixosSystem {
|
|
specialArgs = {inherit inputs outputs;};
|
|
modules = [
|
|
determinate.nixosModules.default
|
|
./machines/wash/configuration.nix
|
|
|
|
home-manager.nixosModules.home-manager
|
|
{
|
|
home-manager.useGlobalPkgs = true;
|
|
home-manager.useUserPackages = true;
|
|
|
|
home-manager.backupFileExtension = "bak";
|
|
home-manager.extraSpecialArgs = {inherit inputs outputs nixosModules homeModules darwinModules;};
|
|
home-manager.users.tyler = import ./machines/wash/home.nix;
|
|
}
|
|
];
|
|
};
|
|
};
|
|
|
|
darwinConfigurations."MacBook-Pro" = darwin.lib.darwinSystem {
|
|
specialArgs = {inherit inputs outputs;};
|
|
|
|
modules = [
|
|
./machines/hinge/darwin.nix
|
|
|
|
determinate.darwinModules.default
|
|
{
|
|
determinate-nix.customSettings = {};
|
|
}
|
|
|
|
home-manager.darwinModules.home-manager
|
|
{
|
|
home-manager.useGlobalPkgs = true;
|
|
home-manager.useUserPackages = true;
|
|
|
|
home-manager.backupFileExtension = "bak";
|
|
home-manager.extraSpecialArgs = {inherit inputs outputs nixosModules homeModules darwinModules;};
|
|
home-manager.users."tyler.mayoff" = import ./machines/hinge/home.nix;
|
|
users.users."tyler.mayoff".home = "/Users/tyler.mayoff";
|
|
}
|
|
];
|
|
};
|
|
|
|
homeConfigurations = {
|
|
"tyler@guidebolt" = home-manager.lib.homeManagerConfiguration {
|
|
pkgs = allPkgs."x86_64-linux";
|
|
extraSpecialArgs = {inherit inputs outputs;};
|
|
modules = [./home/guidebolt/guidebolt.nix];
|
|
};
|
|
};
|
|
};
|
|
}
|