1
0
mirror of https://github.com/ellmau/nixos.git synced 2025-12-18 09:19:39 +01:00
nixos/default.nix
Stefan Ellmauthaler 1e6e85ae2b
Swayfy (#5)
* switch to sway

* Add greetd pam integration, Add waybar base config

* waybar (multiple modules do not behave as documented)
* nm-applet
* systemd-integration due to "normal" call via greetd

configure mako
adding base commands for nm-applet, blueman-applet

* add kanshi

* swayconfig keybindings for special multimedia keys

* waybar base stylefile + basic modules

* Add more portals to wayland/sway and fix fonts

* Add nixosConfiguration-awareness to the homemanager module

* Add alacritty.nix for home-manager configuration

* Add formatter to flake

* Format with alejandra style

* Add apheleia to emacs

* Add local configuration to use alejandra in this flake with emacs
2022-08-22 16:39:47 +02:00

76 lines
2.0 KiB
Nix

{
flakes,
flakeOutputs,
...
}: let
mkMachine = args: let
name =
if builtins.isString args
then args
else args.name;
system =
if args ? system
then args.system
else "x86_64-linux";
extraModules =
if args ? extraModules
then args.extraModules
else [];
extraOverlays =
if args ? extraOverlays
then args.extraOverlays
else [
overlay-unstable
# overlay-comma
];
pkgs = flakes.nixpkgs;
configuration =
if args ? configuration
then args.configuration
else import ./baseconfiguration.nix {inherit extraOverlays system pkgs name flakes flakeOutputs;};
overlay-unstable = final: prev: {
unstable = import flakes.nixpkgs-unstable {
system = "${system}";
config.allowUnfree = true;
};
};
# overlay-comma = final: prev: {
# comma = flakes.comma.packages."${system}";
# };
in {
inherit name;
value = pkgs.lib.nixosSystem {
inherit system;
modules =
[
configuration
{
nix = {
package = pkgs.legacyPackages.${system}.nixUnstable;
nixPath = ["nixpkgs=${pkgs}"];
registry.nixpkgs.flake = pkgs;
registry.nixpkgs-unstable.flake = flakes.nixpkgs-unstable;
};
}
]
++ extraModules
++ flakes.nixpkgs.lib.mapAttrsToList (_: module: module)
flakeOutputs.nixosModules;
};
};
in
flakes.nixpkgs.lib.listToAttrs (map mkMachine [
{
name = "stel-xps";
extraModules = [flakes.nixos-hardware.nixosModules.dell-xps-13-7390 flakes.home-manager.nixosModules.home-manager];
}
{
name = "nucturne";
extraModules = [flakes.home-manager.nixosModules.home-manager];
}
{
name = "ellmauthaler";
extraModules = [flakes.home-manager.nixosModules.home-manager flakes.simple-nixos-mailserver.nixosModule flakes.sops-nix.nixosModules.sops];
}
])