102 lines
2.7 KiB
Nix
102 lines
2.7 KiB
Nix
{
|
|
description = "Home Manager configuration of julian";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
|
|
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
|
|
|
home-manager = {
|
|
url = "github:nix-community/home-manager/release-24.05";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
snowfall-lib = {
|
|
url = "github:snowfallorg/lib";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
alacritty-theme = {
|
|
url = "github:alacritty/alacritty-theme";
|
|
flake = false;
|
|
};
|
|
|
|
yazi-flavors = {
|
|
url = "github:yazi-rs/flavors";
|
|
flake = false;
|
|
};
|
|
|
|
nix-matlab.url = "gitlab:doronbehar/nix-matlab";
|
|
nix-matlab.inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
sops-nix.url = "github:Mic92/sops-nix";
|
|
sops-nix.inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
|
|
hyprland-plugins = {
|
|
url = "github:hyprwm/hyprland-plugins";
|
|
inputs.hyprland.follows = "hyprland";
|
|
};
|
|
|
|
nix-colors.url = "github:Misterio77/nix-colors";
|
|
prism.url = "github:IogaMaster/prism";
|
|
|
|
nix-topology.url = "github:oddlama/nix-topology";
|
|
nix-topology.inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
nix-ld.url = "github:Mic92/nix-ld";
|
|
nix-ld.inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
outputs =
|
|
inputs:
|
|
inputs.snowfall-lib.mkFlake {
|
|
inherit inputs;
|
|
# Must always be ./.
|
|
src = ./.;
|
|
|
|
# Add overlays for the `nixpkgs` channel.
|
|
overlays = with inputs; [
|
|
nix-matlab.overlay
|
|
nix-topology.overlays.default
|
|
];
|
|
|
|
snowfall = {
|
|
# The root of the snowfall config
|
|
root = ./.;
|
|
# lib, package and overlay namespace
|
|
namespace = "frajul"; # defaults to "internal"
|
|
|
|
meta = {
|
|
name = "Julian's dotfiles";
|
|
title = "Julian's dotfiles";
|
|
};
|
|
};
|
|
|
|
# The attribute set specified here will be passed directly to NixPkgs when
|
|
# instantiating the package set.
|
|
channels-config = {
|
|
# Allow unfree packages.
|
|
allowUnfree = true;
|
|
nvidia.acceptLicense = true;
|
|
|
|
# Allow certain insecure packages
|
|
permittedInsecurePackages = [ ];
|
|
};
|
|
|
|
systems.modules.nixos = with inputs; [ nix-topology.nixosModules.default ];
|
|
|
|
topology =
|
|
with inputs;
|
|
let
|
|
host = self.nixosConfigurations.${builtins.head (builtins.attrNames self.nixosConfigurations)};
|
|
in
|
|
import nix-topology {
|
|
inherit (host) pkgs; # Only this package set must include nix-topology.overlays.default
|
|
modules = [
|
|
(import ./topology { inherit (host) config; })
|
|
{ inherit (self) nixosConfigurations; }
|
|
];
|
|
};
|
|
};
|
|
}
|