Files
amazing-dotfiles/flake.nix
2026-03-24 10:40:31 +01:00

129 lines
2.9 KiB
Nix

{
description = "Home manager config";
inputs = {
hyprland.url = "github:hyprwm/Hyprland";
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
catppuccin.url = "github:catppuccin/nix";
wallpapers = {
url = "github:orangci/walls-catppuccin-mocha";
flake = false;
};
nixvim = {
url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "nixpkgs";
};
zut-calendar.url = "github:szymon-jozef/zut-calendar";
zutui.url = "github:shv187/zutui";
hyprcursor-phinger.url = "github:jappie3/hyprcursor-phinger";
};
outputs =
{
nixpkgs,
home-manager,
catppuccin,
nixvim,
wallpapers,
zut-calendar,
zutui,
...
}@inputs:
let
defaultUserConfig = {
username = "szymon";
email = "szymon_jozef@proton.me";
fullName = "Szymon P";
signingKey = "~/.ssh/github.pub";
mainMonitor = "DP-1";
statusBar = "ashell"; # available: ashell | waybar
pathConfig = {
wallpaper = "Obrazy/tapety/catppuccin";
screenshot = "Obrazy/zrzuty/";
obsidian = "Dokumenty/obsidian";
};
isNixOS = true;
hostName = "default";
};
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
config.allowUnfree = true;
};
mkHome =
customConfig:
let
userConfig = defaultUserConfig // customConfig;
in
home-manager.lib.homeManagerConfiguration {
inherit pkgs;
extraSpecialArgs = {
inherit inputs userConfig;
};
modules = [
./home.nix
catppuccin.homeModules.catppuccin
nixvim.homeModules.nixvim
inputs.hyprcursor-phinger.homeManagerModules.hyprcursor-phinger
(
{ pkgs, ... }:
{
home.packages = [
zut-calendar.packages.${pkgs.system}.default
zutui.packages.${pkgs.system}.default
];
}
)
]
++ (customConfig.extraModules or [ ]);
};
in
{
homeConfigurations = {
# You can overwrite default configuration here
"arch" = mkHome {
isNixOS = false;
hostName = "arch";
};
"nixos" = mkHome {
isNixOS = true;
hostName = "nixos";
};
"${defaultUserConfig.username}@pitagoras" = mkHome {
hostName = "pitagoras";
mainMonitor = "eDP-1";
};
"${defaultUserConfig.username}@pilecki" = mkHome {
hostName = "pilecki";
mainMonitor = "LVDS-1";
};
"${defaultUserConfig.username}@paderewski" = mkHome {
hostName = "paderewski";
};
};
};
}