This repository has been archived on 2024-04-14. You can view files and clone it, but cannot push or open issues or pull requests.
nixos-dotfiles/flake.nix

159 lines
3.5 KiB
Nix
Executable File

{
description = "My personal dotfiles";
inputs = {
nixpkgs = {
url = "nixpkgs/nixpkgs-unstable";
};
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
chaotic-nyx = {
url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
inputs.nixpkgs.follows = "nixpkgs";
};
eww-systray = {
# url = "github:ralismark/eww/5b507c813c79be42b174f477b7acd2c95d58f09f";
url = "github:ralismark/eww/tray-3";
inputs.nixpkgs.follows = "nixpkgs";
};
grub2-themes = {
url = "github:vinceliuice/grub2-themes";
inputs.nixpkgs.follows = "nixpkgs";
};
helix = {
url = "github:helix-editor/helix";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprland = {
url = "github:hyprwm/hyprland";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprlock = {
url = "github:hyprwm/hyprlock";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-index-database = {
url = "github:Mic92/nix-index-database";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-flatpak.url = "github:gmodena/nix-flatpak";
nix-ld-rs = {
url = "github:nix-community/nix-ld-rs";
inputs.nixpkgs.follows = "nixpkgs";
};
nur.url = "github:nix-community/NUR";
#--- non-flakes
fish-plugin-bobthefish = {
url = "github:oh-my-fish/theme-bobthefish";
flake = false;
};
fish-plugin-gruvbox-theme = {
url = "github:Jomik/fish-gruvbox";
flake = false;
};
gruvbox-kvantum = {
url = "github:thefallnn/Gruvbox-Kvantum";
flake = false;
};
gruvbox-plus-icon-pack = {
url = "github:SylEleuth/gruvbox-plus-icon-pack";
flake = false;
};
mygui-git = {
url = "github:mygui/MyGUI/dae9ac4be5a09e672bec509b1a8552b107c40214";
flake = false;
};
openmw-git = {
url = "gitlab:OpenMW/openmw";
flake = false;
};
};
outputs = {
self,
nixpkgs,
home-manager,
...
} @ inputs: let
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
config = {
allowUnfree = true;
allowUnsupportedSystem = true;
permittedInsecurePackages = [
];
};
overlays = [
self.overlays.default
];
};
#edit as you see fit
hostName = "terra";
userName = "manuel";
emailAddress = "varris@posteo.net";
flakeDir = "/home/${userName}/.dotfiles";
#-------------------
in {
formatter.${system} = nixpkgs.legacyPackages.${system}.alejandra;
overlays = import ./overlay.nix {inherit inputs;};
nixosConfigurations.${hostName} = nixpkgs.lib.nixosSystem {
inherit system;
inherit pkgs;
specialArgs = {
inherit inputs;
inherit hostName;
inherit userName;
};
modules = [
./system/configuration.nix
inputs.chaotic-nyx.nixosModules.default
inputs.grub2-themes.nixosModules.default
inputs.nur.nixosModules.nur
];
};
homeConfigurations.${userName} = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
extraSpecialArgs = {
inherit inputs;
inherit userName;
inherit flakeDir;
inherit emailAddress;
};
modules = [
./user/home.nix
inputs.hyprlock.homeManagerModules.hyprlock
inputs.nix-index-database.hmModules.nix-index
inputs.nix-flatpak.homeManagerModules.nix-flatpak
inputs.nur.hmModules.nur
];
};
};
}