169 lines
4.5 KiB
Nix
Executable file
169 lines
4.5 KiB
Nix
Executable file
{
|
|
description = "Emile's Nix Dotfiles";
|
|
|
|
inputs = {
|
|
#nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
|
|
|
home-manager = {
|
|
url = "github:nix-community/home-manager";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
spicetify-nix = {
|
|
url = "github:Gerg-L/spicetify-nix";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
nixcord.url = "github:kaylorben/nixcord";
|
|
|
|
grub2-themes.url = "github:vinceliuice/grub2-themes";
|
|
|
|
# is this necessary? (aren't I enabling it in `configuration.nix` anyways?)
|
|
hyprland.url = "github:hyprwm/Hyprland";
|
|
|
|
swww.url = "github:LGFae/swww";
|
|
|
|
# TODO: declarative flatpak management
|
|
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.4.1";
|
|
|
|
ags.url = "github:Aylur/ags";
|
|
|
|
hyprpanel.url = "github:Jas-SinghFSU/HyprPanel";
|
|
|
|
colmena.url = "github:zhaofengli/colmena";
|
|
};
|
|
|
|
outputs = {
|
|
self,
|
|
nixpkgs,
|
|
home-manager,
|
|
hyprland,
|
|
grub2-themes,
|
|
nixcord,
|
|
colmena,
|
|
...
|
|
} @ inputs: let
|
|
system = "x86_64-linux";
|
|
|
|
pkgs = import nixpkgs {
|
|
inherit system;
|
|
|
|
config = {
|
|
allowUnfree = true;
|
|
# Colmena's latest stable version is
|
|
# unusable so get latest unstable version.
|
|
#packageOverrides = pkgsBuild: let
|
|
# src = pkgsBuild.fetchFromGitHub {
|
|
# owner = "zhaofengli";
|
|
# repo = "colmena";
|
|
# rev = "47b6414d800c8471e98ca072bc0835345741a56a";
|
|
# sha256 = "rINodqeUuezuCWOnpJgrH7u9vJ86fYT+Dj8Mu8T/IBc=";
|
|
# };:cl
|
|
# #flake = import (src + "/flake.nix");
|
|
#in {
|
|
# colmena = let
|
|
# flake = pkgsBuild.callPackage "${src}/flake.nix" {};
|
|
# #flake = import "${src}/package.nix";
|
|
# #flake = import "${src}/flake.nix";
|
|
# #flake-outputs = flake.outputs {
|
|
# # inherit self;
|
|
# # inherit nixpkgs;
|
|
# # inherit stable;
|
|
# # inherit flake-utils;
|
|
# #
|
|
# #};
|
|
# in
|
|
# flake;
|
|
# #flake.outputs.packages."${system}".colmena {};
|
|
#
|
|
# #pkgsBuild.callPackage flake.packages.${system}.colmena {};
|
|
# #colmena = flake.packages."${system}".colmena;
|
|
#};
|
|
};
|
|
};
|
|
|
|
# colmena-new = pkgs.colmena.overrideAttrs (old: {
|
|
# src = pkgs.fetchFromGitHub {
|
|
# owner = "zhaofengli";
|
|
# repo = "colmena";
|
|
# rev = "47b6414d800c8471e98ca072bc0835345741a56a";
|
|
# sha256 = "rINodqeUuezuCWOnpJgrH7u9vJ86fYT+Dj8Mu8T/IBc=";
|
|
# };
|
|
# cargoHash = pkgs.lib.fakeHash;
|
|
# cargoSha256 = pkgs.lib.fakeSha256;
|
|
# });
|
|
|
|
#pkgsColmena = import (builtins.fetchGit {
|
|
# name = "nixpkgs-unstable-colmena";
|
|
# url = "https://github.com/NixOS/nixpkgs/";
|
|
# ref = "refs/heads/nixpkgs-unstable";
|
|
# rev = "21808d22b1cda1898b71cf1a1beb524a97add2c4";
|
|
#}) {};
|
|
|
|
#pkgsColmena = import (builtins.fetchTarball {
|
|
# url = "https://github.com/NixOS/nixpkgs/archive/21808d22b1cda1898b71cf1a1beb524a97add2c4.tar.gz";
|
|
# sha256 = "0v2z6jphhbk1ik7fqhlfnihcyff5np9wb3pv19j9qb9mpildx0cg";
|
|
#}) {inherit system;};
|
|
|
|
# TODO: come back to this its really cool
|
|
# this is just something I'm experimenting with
|
|
PROJECT_ROOT = builtins.toString ./.;
|
|
in {
|
|
# `nix develop` shell
|
|
devShells."x86_64-linux".default = pkgs.mkShell {
|
|
buildInputs = [
|
|
#colmena-new
|
|
];
|
|
};
|
|
|
|
nixosConfigurations = {
|
|
# i be on my puter fr
|
|
myputer = nixpkgs.lib.nixosSystem {
|
|
# nix passes these to every single module
|
|
specialArgs = {inherit inputs pkgs;};
|
|
|
|
modules = [
|
|
./hosts/myputer
|
|
grub2-themes.nixosModules.default
|
|
];
|
|
};
|
|
|
|
# my laptop 0w0
|
|
lolcathost = nixpkgs.lib.nixosSystem {
|
|
specialArgs = {inherit inputs pkgs;};
|
|
|
|
modules = [
|
|
./hosts/lolcathost
|
|
grub2-themes.nixosModules.default
|
|
];
|
|
};
|
|
|
|
# meine vps
|
|
#imbored = nixpkgs.lib.nixosSystem {
|
|
# specialargs = {inherit inputs pkgs;};
|
|
#
|
|
# modules = [
|
|
# ./hosts/imbored
|
|
# ];
|
|
#};
|
|
};
|
|
|
|
# remote deployment to my servers!!
|
|
#colmenaHive = colmena.lib.makeHive self.outputs.colmena;
|
|
#colmena = {
|
|
colmenaHive = colmena.lib.makeHive {
|
|
meta = {
|
|
# set nixpkgs global
|
|
nixpkgs = pkgs;
|
|
# set nixpkgs per server
|
|
# nodeNixpkgs = {
|
|
# hyrule = pkgs;
|
|
# };
|
|
};
|
|
|
|
# meine vps
|
|
hyrule = import ./hosts/hyrule;
|
|
};
|
|
};
|
|
}
|