another another installer attempt

This commit is contained in:
2024-10-20 13:44:44 -05:00
parent a97a749a5f
commit 82ca092265
10 changed files with 203 additions and 2132 deletions

1982
flake.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -64,31 +64,52 @@
#inherit iso_system;
specialArgs = {
core_inputs = (core_inputs // {host = "live";});
core_inputs = (core_inputs // {host = "installer";});
};
modules = [
({ pkgs, modulesPath, ... }: {
({ lib, pkgs, modulesPath, ... }: {
imports = [
(modulesPath + "/installer/cd-dvd/installation-cd-minimal.nix")
];
environment.etc = {
"nixos/disko/default.nix".source = ./system/disko/default.nix;
"nixos/disko/disko.nix".source = ./system/disko/disko.nix;
"nixos/disko/disko_bonus.nix".source = ./system/disko/disko_bonus.nix;
"nixos/disko/impermanent.nix".source = ./system/disko/impermanent.nix;
"nixos/impermanence/default.nix".source = ./system/impermanence/default.nix;
"nixos/flake.nix".source = ./system/configuration/live/flake.nix;
homeconfig = {
minimal = true;
externalPackages.enable = false;
calcurse.enable = false;
wayvnc.enable = true;
rofi.enable = true;
mpd.enable = false;
wal.enable = true;
ags.enable = true;
hyprland.enable = true;
swaylock.enable = true;
};
services.openssh = {
enable = true;
sysconfig = {
opts = {
firstBoot = true;
host = "installer";
inherit username;
openssh.enable = true;
hyprland.enable = true;
ags.enable = true;
pipewire.enable = true;
git.enable = true;
steam.enable = false;
nh.enable = false;
};
};
disko.enable = lib.mkForce false;
nix.settings = {
experimental-features = [ "nix-command" "flakes" ];
};
networking = {
hostName = "live";
hostName = "installer";
firewall.allowedTCPPorts = [ 22 ];
};
@@ -96,6 +117,9 @@
})
core_inputs.system.module
core_inputs.home-manager.nixosModules.home-manager
];
};

View File

@@ -4,71 +4,68 @@
(lib.mkIf config.homeconfig.ags.enable {
home.file = let
files = [
"ags/bluetooth.js"
"ags/brightness.js"
"ags/clock.js"
"ags/config.js"
"ags/media.js"
"ags/notif.js"
"ags/notification.js"
"ags/power.js"
"ags/settings.js"
"ags/systemtray.js"
"ags/wifi.js"
"ags/workspaces.js"
];
in builtins.mapAttrs (n: v: { source = v; target = n; }) (builtins.listToAttrs (builtins.map (_name: { name = ".config/${_name}"; value = ./${_name}; }) files));
dir = "ags";
in builtins.mapAttrs (
n: v: { source = v.value; target = v.name; }) (
builtins.mapAttrs (
_name: _value: {
name = ".config/${dir}/${_name}"; value = ./${dir}/${_name};
}
) (builtins.readDir ./${dir})
);
})
(lib.mkIf config.homeconfig.hyprland.enable {
home.file = let
files = [
"Wallpaper/sao.gif"
"Wallpaper/sao.png"
"Wallpaper/ngnl.jpg"
"Wallpaper/llenn.png"
"Wallpaper/sinon.gif"
"Wallpaper/galaxy.jpg"
"Wallpaper/kurisu.gif"
"Wallpaper/kurisu.jpg"
"Wallpaper/rezero.gif"
"Wallpaper/megumin.png"
"Wallpaper/megumin1.gif"
"Wallpaper/megumin2.gif"
"Wallpaper/bluescape.jpg"
"Wallpaper/orangescape.jpg"
];
in builtins.mapAttrs (n: v: { source = v; target = n; }) (builtins.listToAttrs (builtins.map (_name: { name = "Pictures/${_name}"; value = ./${_name}; }) files));
dir = "Wallpaper";
in builtins.mapAttrs (
n: v: { source = v.value; target = v.name; }) (
builtins.mapAttrs (
_name: _value: {
name = ".config/${dir}/${_name}"; value = ./${dir}/${_name};
}
) (builtins.readDir ./${dir})
);
})
(lib.mkIf config.homeconfig.hyprland.enable {
home.file = let
files = [
"hypr/otf.conf"
"hypr/pyprland.toml"
"hypr/main.conf"
];
in builtins.mapAttrs (n: v: { source = v; target = n; }) (builtins.listToAttrs (builtins.map (_name: { name = ".config/${_name}"; value = ./${_name}; }) files));
dir = "Wallpaper";
in builtins.mapAttrs (
n: v: { source = v.value; target = v.name; }) (
builtins.mapAttrs (
_name: _value: {
name = ".config/${dir}/${_name}"; value = ./${dir}/${_name};
}
) (builtins.readDir ./${dir})
);
})
(lib.mkIf config.homeconfig.swaylock.enable {
home.file = let
files = [
"swaylock/config"
];
in builtins.mapAttrs (n: v: { source = v; target = n; }) (builtins.listToAttrs (builtins.map (_name: { name = ".config/${_name}"; value = ./${_name}; }) files));
dir = "swaylock";
in builtins.mapAttrs (
n: v: { source = v.value; target = v.name; }) (
builtins.mapAttrs (
_name: _value: {
name = ".config/${dir}/${_name}"; value = ./${dir}/${_name};
}
) (builtins.readDir ./${dir})
);
})
(lib.mkIf config.homeconfig.wal.enable {
home.file = let
files = [
"wal/templates/cava_config"
"wal/templates/colors-ags.css"
"wal/templates/colors-discord.css"
"wal/templates/colors-hypr.conf"
];
in builtins.mapAttrs (n: v: { source = v; target = n; }) (builtins.listToAttrs (builtins.map (_name: { name = ".config/${_name}"; value = ./${_name}; }) files));
dir = "wal";
in builtins.mapAttrs (
n: v: { source = v.value; target = v.name; }) (
builtins.mapAttrs (
_name: _value: {
name = ".config/${dir}/${_name}"; value = ./${dir}/${_name};
}
) (builtins.readDir ./${dir})
);
})
];
}

View File

@@ -32,18 +32,6 @@
home.homeDirectory = "/home/nathan";
homeconfig = {
calcurse.enable = true;
wayvnc.enable = true;
rofi.enable = true;
mpd.enable = true;
wal.enable = true;
ags.enable = true;
hyprland.enable = true;
swaylock.enable = true;
};
home.pointerCursor = {
gtk.enable = true;
package = pkgs.bibata-cursors;
@@ -58,8 +46,6 @@
iconTheme.name = "Tokyonight-Dark";
};
externalPackages.enable = true;
services.mpris-proxy.enable = true;
programs.ssh.enable = true;

View File

@@ -1,10 +1,37 @@
{ pkgs, pkgs-us, self, ... }: {
{ config, lib, pkgs, pkgs-us, self, ... }: {
imports = [
self.inputs.scripts.hmModule
self.inputs.external.hmModule
];
options.homeconfig.minimal = lib.options.mkOption {
type = lib.types.bool;
default = false;
};
config = lib.mkMerge [
{
home.packages = with pkgs; [
killall
zip
unzip
gcc
zulu
rsync
lxqt.lxqt-policykit
blueberry
wl-clipboard
firefox-wayland
xfce.thunar
grim
slurp
];
}
(lib.mkIf (!config.homeconfig.minimal) {
nixpkgs.config.allowUnfree = true;
home.packages = with pkgs; let
@@ -24,7 +51,6 @@
in [
cava
gcc
android-tools
neovim-remote
@@ -32,34 +58,22 @@
brightnessctl
libdbusmenu-gtk3
zulu
lmms
killall
#unfree {
geogebra
#}
blueberry
wl-clipboard
firefox-wayland
neofetch
pkgs-us.mpv
(ncmpcpp.override { visualizerSupport = true; clockSupport = true; })
playerctl
mpc-cli
xfce.thunar
vlc
zip
unzip
pavucontrol
yewtube
ytmdl
ffmpeg_5
lxqt.lxqt-policykit
rpi-imager
rsync
grim
slurp
tigervnc
keepassxc
httplz
@@ -81,4 +95,7 @@
prismlauncher
];
})
];
}

View File

@@ -1,13 +1,13 @@
{ config, lib, pkgs, self, ... }: {
options = {
externalPackages.enable = lib.options.mkOption {
homeconfig.externalPackages.enable = lib.options.mkOption {
type = lib.types.bool;
default = false;
};
};
config = lib.mkIf config.externalPackages.enable {
config = lib.mkIf config.homeconfig.externalPackages.enable {
home.packages = [
self.packages.${pkgs.system}.digital
];

View File

@@ -76,8 +76,8 @@
environment = {
sessionVariables = {
WLR_BACKENDS = "headless";
WLR_LIBINPUT_NO_DEVICES = "1";
# WLR_BACKENDS = "headless";
# WLR_LIBINPUT_NO_DEVICES = "1";
};
};

19
system/disko/flake.nix Normal file
View File

@@ -0,0 +1,19 @@
{
description = "disko config";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
disko.url = "github:nix-community/disko";
disko.inputs.nixpkgs.follows = "nixpkgs";
};
outputs = { self, ... }@inputs: {
module = { config, lib, pkgs, ... }: {
imports = [
(import ./default.nix { inherit config lib pkgs; })
inputs.disko.nixosModules.default
];
};
};
}

0
system/etc/default.nix Normal file
View File

View File

@@ -0,0 +1,10 @@
{
description = "nix impermanence config";
inputs.impermanence.url = "github:nix-community/impermanence";
outputs = { self, ... }: {
module = { config, lib, ... }: import ./. { inherit config lib self; };
};
}