You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
117 lines
3.5 KiB
117 lines
3.5 KiB
# flake.nix: the glue, but even gluier
|
|
{
|
|
description = "maybe you'd have less problems if you weren't on a zoomer distro";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-22.05";
|
|
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable";
|
|
nixpkgs-for-mathematica.url = "github:nixos/nixpkgs?rev=c82b46413401efa740a0b994f52e9903a4f6dcd5";
|
|
|
|
utils.url = "github:gytis-ivaskevicius/flake-utils-plus";
|
|
home-manager = {
|
|
url = "github:nix-community/home-manager/release-22.05";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
agenix = {
|
|
url = "github:ryantm/agenix";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
nix-alien = {
|
|
url = "github:thiagokokada/nix-alien";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
emacs-overlay.url = "github:nix-community/emacs-overlay";
|
|
nixos-hardware.url = "github:nixos/nixos-hardware";
|
|
simple-nixos-mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-21.11";
|
|
|
|
zsh-syntax-highlighting = {
|
|
url = "github:zsh-users/zsh-syntax-highlighting";
|
|
flake = false;
|
|
};
|
|
perihelion = {
|
|
url = "git+https://git.bicompact.space/hazel/perihelion?ref=canon";
|
|
flake = false;
|
|
};
|
|
};
|
|
|
|
outputs = inputs@{ self,
|
|
utils,
|
|
nixpkgs,
|
|
nixpkgs-unstable,
|
|
nixpkgs-for-mathematica,
|
|
nix-alien,
|
|
nixos-hardware,
|
|
home-manager,
|
|
agenix,
|
|
simple-nixos-mailserver, ... }:
|
|
utils.lib.mkFlake {
|
|
inherit self inputs;
|
|
|
|
supportedSystems = [ "x86_64-linux" ];
|
|
|
|
channels.just-mathematica.input = nixpkgs-for-mathematica;
|
|
channels.unstable.input = nixpkgs-unstable;
|
|
channels.nixpkgs = {
|
|
input = nixpkgs;
|
|
|
|
# overrides
|
|
overlaysBuilder =
|
|
channels: [
|
|
self.inputs.nix-alien.overlay
|
|
|
|
(final: prev: {
|
|
inherit (channels.just-mathematica)
|
|
mathematica;
|
|
|
|
hazel = {
|
|
perihelion = prev.callPackage (import inputs.perihelion) {};
|
|
rmview = prev.libsForQt5.callPackage ./packages/rmview.nix {};
|
|
};
|
|
})
|
|
];
|
|
};
|
|
channelsConfig = { allowUnfree = true; };
|
|
|
|
hosts = {
|
|
hyacinth.modules = [
|
|
./configuration.nix
|
|
./machines/hyacinth
|
|
nixos-hardware.nixosModules.lenovo-thinkpad-t495
|
|
|
|
agenix.nixosModules.age
|
|
home-manager.nixosModules.home-manager
|
|
nixpkgs.nixosModules.notDetected # enable nonfree firmwares
|
|
];
|
|
kerria.modules = [
|
|
./configuration.nix
|
|
./machines/kerria
|
|
nixos-hardware.nixosModules.pcengines-apu
|
|
|
|
agenix.nixosModules.age
|
|
home-manager.nixosModules.home-manager
|
|
nixpkgs.nixosModules.notDetected # enable nonfree firmwares
|
|
|
|
|
|
simple-nixos-mailserver.nixosModule
|
|
./modules/services/mail.nix
|
|
|
|
# FIXME: put this in a better place, lol
|
|
{
|
|
users.users.lemniscation = {
|
|
isNormalUser = true;
|
|
uid = 1001;
|
|
shell = nixpkgs.legacyPackages.x86_64-linux.bash;
|
|
};
|
|
|
|
home-manager.users.lemniscation = { pkgs, ... }: {
|
|
home.packages = with pkgs; [ bundler ];
|
|
programs.bash.enable = true;
|
|
programs.zsh.enable = true;
|
|
|
|
home.stateVersion = "20.09"; # flake's
|
|
};
|
|
}
|
|
];
|
|
};
|
|
};
|
|
}
|
|
|