145 lines
3.9 KiB
Nix
145 lines
3.9 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";
|
|
};
|
|
|
|
#### Iogamaster inputs
|
|
nixos-generators.url = "github:nix-community/nixos-generators";
|
|
nixos-generators.inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
# For nixd
|
|
flake-compat = {
|
|
url = "github:inclyc/flake-compat";
|
|
flake = false;
|
|
};
|
|
|
|
nix-darwin.url = "github:LnL7/nix-darwin";
|
|
nix-darwin.inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
impermanence.url = "github:nix-community/impermanence";
|
|
persist-retro.url = "github:Geometer1729/persist-retro";
|
|
|
|
# Home
|
|
neovim = {
|
|
url = "github:IogaMaster/neovim";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
nix-colors.url = "github:Misterio77/nix-colors";
|
|
prism.url = "github:IogaMaster/prism";
|
|
|
|
# Deployments
|
|
arion.url = "github:hercules-ci/arion";
|
|
arion.inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
disko.url = "github:nix-community/disko";
|
|
disko.inputs.nixpkgs.follows = "nixpkgs";
|
|
deploy-rs.url = "github:serokell/deploy-rs";
|
|
deploy-rs.inputs.nixpkgs.follows = "nixpkgs";
|
|
nix-topology.url = "github:oddlama/nix-topology";
|
|
microvm.url = "github:astro/microvm.nix";
|
|
microvm.inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
# Misc
|
|
nix-ld.url = "github:Mic92/nix-ld";
|
|
nix-ld.inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
dzgui-nix = {
|
|
url = "github:lelgenio/dzgui-nix";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
flux.url = "github:IogaMaster/flux";
|
|
};
|
|
|
|
outputs =
|
|
inputs:
|
|
inputs.snowfall-lib.mkFlake {
|
|
inherit inputs;
|
|
# Must always be ./.
|
|
src = ./.;
|
|
|
|
# Add overlays for the `nixpkgs` channel.
|
|
overlays = with inputs; [
|
|
nix-matlab.overlay
|
|
|
|
# iogamaster overlays
|
|
neovim.overlays.x86_64-linux.neovim
|
|
nix-topology.overlays.default
|
|
flux.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; }
|
|
];
|
|
};
|
|
};
|
|
}
|