alejandra formatting ftw
This commit is contained in:
parent
ab483276f1
commit
5e29a554ea
22 changed files with 738 additions and 651 deletions
60
flake.nix
60
flake.nix
|
|
@ -1,35 +1,35 @@
|
||||||
{
|
{
|
||||||
description = "Entry point for NixOS";
|
description = "Entry point for NixOS";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
nur.url = "github:nix-community/NUR";
|
nur.url = "github:nix-community/NUR";
|
||||||
home-manager.url = "github:nix-community/home-manager";
|
home-manager.url = "github:nix-community/home-manager";
|
||||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
|
hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
|
||||||
nixvim.url = "git+https://git.wanderingcrow.net/TheWanderingCrow/nvix";
|
nixvim.url = "git+https://git.wanderingcrow.net/TheWanderingCrow/nvix";
|
||||||
alejandra.url = "github:kamadorueda/alejandra/3.1.0";
|
alejandra.url = "github:kamadorueda/alejandra/3.1.0";
|
||||||
alejandra.inputs.nixpkgs.follows = "nixpkgs";
|
alejandra.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = inputs: let
|
||||||
|
system = "x86_64-linux";
|
||||||
|
inherit (inputs.nixpkgs) lib;
|
||||||
|
|
||||||
|
overlays = [inputs.nur.overlay];
|
||||||
|
|
||||||
|
pkgs = import inputs.nixpkgs {
|
||||||
|
inherit system overlays;
|
||||||
|
config.allowUnfree = true;
|
||||||
|
config.android_sdk.accept_license = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs: let
|
ns = host: (lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
specialArgs = {inherit pkgs inputs;};
|
||||||
inherit (inputs.nixpkgs) lib;
|
modules = [
|
||||||
|
(./hosts + "/${host}")
|
||||||
overlays = [ inputs.nur.overlay ];
|
inputs.home-manager.nixosModules.home-manager
|
||||||
|
];
|
||||||
pkgs = import inputs.nixpkgs {
|
});
|
||||||
inherit system overlays;
|
in {nixosConfigurations = lib.attrsets.genAttrs ["Parzival" "Parzival-Mobile" "WCE-Overseer"] ns;};
|
||||||
config.allowUnfree = true;
|
|
||||||
config.android_sdk.accept_license = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
ns = host: (lib.nixosSystem {
|
|
||||||
specialArgs = {inherit pkgs inputs;};
|
|
||||||
modules = [
|
|
||||||
(./hosts + "/${host}")
|
|
||||||
inputs.home-manager.nixosModules.home-manager
|
|
||||||
];
|
|
||||||
});
|
|
||||||
in {nixosConfigurations = lib.attrsets.genAttrs [ "Parzival" "Parzival-Mobile" "WCE-Overseer" ] ns;};
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,22 @@
|
||||||
{config, pkgs, ...}:{
|
{
|
||||||
imports = [
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
../../modules
|
../../modules
|
||||||
];
|
];
|
||||||
|
|
||||||
networking.hostName = "Parzival-Mobile";
|
networking.hostName = "Parzival-Mobile";
|
||||||
|
|
||||||
user.crow.enable = true;
|
user.crow.enable = true;
|
||||||
|
|
||||||
desktop.sway.enable = true;
|
desktop.sway.enable = true;
|
||||||
|
|
||||||
module.gui.enable = true;
|
module.gui.enable = true;
|
||||||
module.wayland.enable = true;
|
module.wayland.enable = true;
|
||||||
module.programming.enable = true;
|
module.programming.enable = true;
|
||||||
module.hacking.enable = true;
|
module.hacking.enable = true;
|
||||||
module.mudding.enable = true;
|
module.mudding.enable = true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,32 +1,36 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
lib,
|
||||||
];
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usb_storage" "sd_mod" ];
|
boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "usb_storage" "sd_mod"];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
boot.kernelModules = ["kvm-intel"];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-uuid/0e8c3f30-2abb-4687-b541-3f6dfdb2fa72";
|
device = "/dev/disk/by-uuid/0e8c3f30-2abb-4687-b541-3f6dfdb2fa72";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/disk/by-uuid/E6CB-9DA5";
|
device = "/dev/disk/by-uuid/E6CB-9DA5";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = [ "fmask=0022" "dmask=0022" ];
|
options = ["fmask=0022" "dmask=0022"];
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices =
|
swapDevices = [
|
||||||
[ { device = "/dev/disk/by-uuid/928718de-b495-4a7c-b9d4-eb491b6c8253"; }
|
{device = "/dev/disk/by-uuid/928718de-b495-4a7c-b9d4-eb491b6c8253";}
|
||||||
];
|
];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
|
|
||||||
|
|
@ -1,19 +1,24 @@
|
||||||
{lib, config, pkgs, ...}:{
|
{
|
||||||
imports = [
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
../../modules
|
../../modules
|
||||||
];
|
];
|
||||||
|
|
||||||
networking.hostName = "Parzival-Work";
|
networking.hostName = "Parzival-Work";
|
||||||
|
|
||||||
user.crow.enable = true;
|
user.crow.enable = true;
|
||||||
|
|
||||||
desktop.sway.enable = true;
|
desktop.sway.enable = true;
|
||||||
desktop.i3.enable = true;
|
desktop.i3.enable = true;
|
||||||
|
|
||||||
module.gui.enable = true;
|
module.gui.enable = true;
|
||||||
module.programming.enable = true;
|
module.programming.enable = true;
|
||||||
module.wayland.enable = true;
|
module.wayland.enable = true;
|
||||||
module.x11.enable = true;
|
module.x11.enable = true;
|
||||||
module.mudding.enable = true;
|
module.mudding.enable = true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,25 +1,30 @@
|
||||||
{lib, config, pkgs, ...}:{
|
{
|
||||||
imports = [
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
../../modules
|
../../modules
|
||||||
];
|
];
|
||||||
|
|
||||||
networking.hostName = "Parzival";
|
networking.hostName = "Parzival";
|
||||||
|
|
||||||
user.crow.enable = true;
|
|
||||||
|
|
||||||
desktop.sway.enable = true;
|
user.crow.enable = true;
|
||||||
desktop.i3.enable = true;
|
|
||||||
|
|
||||||
module.gui.enable = true;
|
desktop.sway.enable = true;
|
||||||
module.programming.enable = true;
|
desktop.i3.enable = true;
|
||||||
module.hacking.enable = true;
|
|
||||||
module.wayland.enable = true;
|
|
||||||
module.x11.enable = true;
|
|
||||||
module.mudding.enable = true;
|
|
||||||
module.gaming.enable = true;
|
|
||||||
module.appdevel.enable = true;
|
|
||||||
module.vr.enable = true;
|
|
||||||
|
|
||||||
virtualisation.vmware.host.enable = true;
|
module.gui.enable = true;
|
||||||
|
module.programming.enable = true;
|
||||||
|
module.hacking.enable = true;
|
||||||
|
module.wayland.enable = true;
|
||||||
|
module.x11.enable = true;
|
||||||
|
module.mudding.enable = true;
|
||||||
|
module.gaming.enable = true;
|
||||||
|
module.appdevel.enable = true;
|
||||||
|
module.vr.enable = true;
|
||||||
|
|
||||||
|
virtualisation.vmware.host.enable = true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,47 +1,50 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
lib,
|
||||||
];
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
|
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod"];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
boot.kernelModules = ["kvm-amd"];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-label/nixos";
|
device = "/dev/disk/by-label/nixos";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/disk/by-label/boot";
|
device = "/dev/disk/by-label/boot";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = [ "fmask=0022" "dmask=0022" ];
|
options = ["fmask=0022" "dmask=0022"];
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [ ];
|
swapDevices = [];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
# still possible to use this option, but it's recommended to use it in conjunction
|
# still possible to use this option, but it's recommended to use it in conjunction
|
||||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||||
networking.useDHCP = lib.mkDefault true;
|
networking.useDHCP = lib.mkDefault true;
|
||||||
# networking.interfaces.enp4s0.useDHCP = lib.mkDefault true;
|
# networking.interfaces.enp4s0.useDHCP = lib.mkDefault true;
|
||||||
# networking.interfaces.wlp8s0.useDHCP = lib.mkDefault true;
|
# networking.interfaces.wlp8s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
hardware.amdgpu = {
|
hardware.amdgpu = {
|
||||||
initrd.enable = true;
|
initrd.enable = true;
|
||||||
amdvlk.enable = true;
|
amdvlk.enable = true;
|
||||||
opencl.enable = true;
|
opencl.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
hardware.rtl-sdr.enable = true;
|
||||||
hardware.rtl-sdr.enable = true;
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,17 @@
|
||||||
{lib, config, pkgs, ...}:{
|
{
|
||||||
imports = [
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
../../modules
|
../../modules
|
||||||
];
|
];
|
||||||
|
|
||||||
networking.hostName = "WCE-Overseer";
|
networking.hostName = "WCE-Overseer";
|
||||||
proxmoxLXC.manageNetwork = true;
|
proxmoxLXC.manageNetwork = true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
|
||||||
|
|
||||||
user.overseer.enable = true;
|
user.overseer.enable = true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
{
|
{
|
||||||
boot.loader = {
|
boot.loader = {
|
||||||
systemd-boot.enable = true;
|
systemd-boot.enable = true;
|
||||||
efi = {
|
efi = {
|
||||||
canTouchEfiVariables = true;
|
canTouchEfiVariables = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
355
modules/core.nix
355
modules/core.nix
|
|
@ -1,184 +1,183 @@
|
||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
inputs,
|
inputs,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
options = {
|
options = {
|
||||||
module = {
|
module = {
|
||||||
enable = lib.mkEnableOption "enables packages";
|
enable = lib.mkEnableOption "enables packages";
|
||||||
core.enable = lib.mkEnableOption "enables required packages";
|
core.enable = lib.mkEnableOption "enables required packages";
|
||||||
gui.enable = lib.mkEnableOption "enables gui+DE packages";
|
gui.enable = lib.mkEnableOption "enables gui+DE packages";
|
||||||
wayland.enable = lib.mkEnableOption "enables wayland packages";
|
wayland.enable = lib.mkEnableOption "enables wayland packages";
|
||||||
x11.enable = lib.mkEnableOption "enables x11 packages";
|
x11.enable = lib.mkEnableOption "enables x11 packages";
|
||||||
programming.enable = lib.mkEnableOption "enables programming packages";
|
programming.enable = lib.mkEnableOption "enables programming packages";
|
||||||
hacking.enable = lib.mkEnableOption "enables hacking packages";
|
hacking.enable = lib.mkEnableOption "enables hacking packages";
|
||||||
mudding.enable = lib.mkEnableOption "enables mudding packages";
|
mudding.enable = lib.mkEnableOption "enables mudding packages";
|
||||||
gaming.enable = lib.mkEnableOption "enables gaming packages";
|
gaming.enable = lib.mkEnableOption "enables gaming packages";
|
||||||
appdevel.enable = lib.mkEnableOption "enables app development in flutter";
|
appdevel.enable = lib.mkEnableOption "enables app development in flutter";
|
||||||
vr.enable = lib.mkEnableOption "enables VR utilities";
|
vr.enable = lib.mkEnableOption "enables VR utilities";
|
||||||
};
|
|
||||||
|
|
||||||
user = {
|
|
||||||
enable = lib.mkEnableOption "enables users";
|
|
||||||
crow = {
|
|
||||||
enable = lib.mkEnableOption "enable crow";
|
|
||||||
home.enable = lib.mkEnableOption "enable home configuration";
|
|
||||||
};
|
|
||||||
overseer = {
|
|
||||||
enable = lib.mkEnableOption "enable container overseer user";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = {
|
|
||||||
system.stateVersion = "24.05";
|
|
||||||
time.timeZone = "America/New_York";
|
|
||||||
nix.settings.experimental-features = ["flakes" "nix-command"];
|
|
||||||
|
|
||||||
environment.variables = {
|
|
||||||
EDITOR = "nvim";
|
|
||||||
VISUAL = "nvim";
|
|
||||||
};
|
|
||||||
|
|
||||||
user = {
|
user = {
|
||||||
enable = lib.mkDefault true;
|
enable = lib.mkEnableOption "enables users";
|
||||||
crow = {
|
crow = {
|
||||||
enable = lib.mkDefault false;
|
enable = lib.mkEnableOption "enable crow";
|
||||||
home.enable = lib.mkDefault config.user.crow.enable;
|
home.enable = lib.mkEnableOption "enable home configuration";
|
||||||
};
|
};
|
||||||
overseer = {
|
overseer = {
|
||||||
enable = lib.mkDefault false;
|
enable = lib.mkEnableOption "enable container overseer user";
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
fonts.packages = with pkgs; [
|
|
||||||
font-awesome
|
|
||||||
nerdfonts
|
|
||||||
];
|
|
||||||
|
|
||||||
|
|
||||||
module = {
|
|
||||||
enable = lib.mkDefault true;
|
|
||||||
core.enable = lib.mkDefault true;
|
|
||||||
gui.enable = lib.mkDefault false;
|
|
||||||
programming.enable = lib.mkDefault false;
|
|
||||||
wayland.enable = lib.mkDefault false;
|
|
||||||
x11.enable = lib.mkDefault false;
|
|
||||||
hacking.enable = lib.mkDefault false;
|
|
||||||
mudding.enable = lib.mkDefault false;
|
|
||||||
gaming.enable = lib.mkDefault false;
|
|
||||||
appdevel.enable = lib.mkDefault false;
|
|
||||||
vr.enable = lib.mkDefault false;
|
|
||||||
};
|
|
||||||
|
|
||||||
desktop = {
|
|
||||||
sway.enable = lib.mkDefault false;
|
|
||||||
i3.enable = lib.mkDefault false;
|
|
||||||
};
|
|
||||||
|
|
||||||
xdg.portal = {
|
|
||||||
xdgOpenUsePortal = true;
|
|
||||||
enable = true;
|
|
||||||
wlr.enable = true;
|
|
||||||
lxqt.enable = true;
|
|
||||||
extraPortals = [
|
|
||||||
pkgs.xdg-desktop-portal-wlr
|
|
||||||
pkgs.xdg-desktop-portal-gtk
|
|
||||||
pkgs.xdg-desktop-portal-kde
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.zsh = {
|
|
||||||
enable = true;
|
|
||||||
autosuggestions = {
|
|
||||||
enable = true;
|
|
||||||
async = true;
|
|
||||||
};
|
|
||||||
syntaxHighlighting = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.starship = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
format = "[░▒▓](#a3aed2)[ ](bg:#a3aed2 fg:#090c0c)[](bg:#769ff0 fg:#a3aed2)$directory[](fg:#769ff0 bg:#394260)$git_branch$git_status[](fg:#394260 bg:#212736)$php[](fg:#212736 bg:#1d2230)$time[ ](fg:#1d2230)$character";
|
|
||||||
|
|
||||||
directory = {
|
|
||||||
style = "fg:#e3e5e5 bg:#769ff0";
|
|
||||||
format = "[ $path ]($style)";
|
|
||||||
truncation_length = 3;
|
|
||||||
truncation_symbol = "…/";
|
|
||||||
};
|
|
||||||
git_branch = {
|
|
||||||
symbol = "";
|
|
||||||
style = "bg:#394260";
|
|
||||||
format = "[[ $symbol $branch ](fg:#769ff0 bg:#394260)]($style)";
|
|
||||||
};
|
|
||||||
git_status = {
|
|
||||||
style = "bg:#394260";
|
|
||||||
format = "[[($all_status$ahead_behind )](fg:#769ff0 bg:#394260)]($style)";
|
|
||||||
};
|
|
||||||
php = {
|
|
||||||
symbol = "";
|
|
||||||
style = "bg:#212736";
|
|
||||||
format = "[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)";
|
|
||||||
};
|
|
||||||
time = {
|
|
||||||
disabled = false;
|
|
||||||
time_format = "%R"; # Hour:Minute Format
|
|
||||||
style = "bg:#1d2230";
|
|
||||||
format = "[[ $time ](fg:#a0a9cb bg:#1d2230)]($style)";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
users.defaultUserShell = pkgs.zsh;
|
|
||||||
|
|
||||||
# Configure pulseaudio
|
|
||||||
hardware.graphics.enable32Bit = config.module.gaming.enable;
|
|
||||||
hardware.pulseaudio.support32Bit = config.module.gaming.enable;
|
|
||||||
services.pipewire = {
|
|
||||||
enable = true;
|
|
||||||
alsa.enable = true;
|
|
||||||
alsa.support32Bit = true;
|
|
||||||
pulse.enable = true;
|
|
||||||
};
|
|
||||||
services.keyd = {
|
|
||||||
enable = true;
|
|
||||||
keyboards.default = {
|
|
||||||
ids = [ "*" ];
|
|
||||||
extraConfig = ''
|
|
||||||
[global]
|
|
||||||
|
|
||||||
default_layout = main
|
|
||||||
|
|
||||||
[main:layout]
|
|
||||||
|
|
||||||
capslock = layer(standardL2)
|
|
||||||
|
|
||||||
[standardL2]
|
|
||||||
|
|
||||||
w = up
|
|
||||||
s = down
|
|
||||||
a = left
|
|
||||||
d = right
|
|
||||||
|
|
||||||
b = C-b
|
|
||||||
|
|
||||||
space = playpause
|
|
||||||
. = nextsong
|
|
||||||
, = previoussong
|
|
||||||
|
|
||||||
[ = delete
|
|
||||||
] = end
|
|
||||||
escape = ~
|
|
||||||
|
|
||||||
home = end
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = {
|
||||||
|
system.stateVersion = "24.05";
|
||||||
|
time.timeZone = "America/New_York";
|
||||||
|
nix.settings.experimental-features = ["flakes" "nix-command"];
|
||||||
|
|
||||||
|
environment.variables = {
|
||||||
|
EDITOR = "nvim";
|
||||||
|
VISUAL = "nvim";
|
||||||
|
};
|
||||||
|
|
||||||
|
user = {
|
||||||
|
enable = lib.mkDefault true;
|
||||||
|
crow = {
|
||||||
|
enable = lib.mkDefault false;
|
||||||
|
home.enable = lib.mkDefault config.user.crow.enable;
|
||||||
|
};
|
||||||
|
overseer = {
|
||||||
|
enable = lib.mkDefault false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
fonts.packages = with pkgs; [
|
||||||
|
font-awesome
|
||||||
|
nerdfonts
|
||||||
|
];
|
||||||
|
|
||||||
|
module = {
|
||||||
|
enable = lib.mkDefault true;
|
||||||
|
core.enable = lib.mkDefault true;
|
||||||
|
gui.enable = lib.mkDefault false;
|
||||||
|
programming.enable = lib.mkDefault false;
|
||||||
|
wayland.enable = lib.mkDefault false;
|
||||||
|
x11.enable = lib.mkDefault false;
|
||||||
|
hacking.enable = lib.mkDefault false;
|
||||||
|
mudding.enable = lib.mkDefault false;
|
||||||
|
gaming.enable = lib.mkDefault false;
|
||||||
|
appdevel.enable = lib.mkDefault false;
|
||||||
|
vr.enable = lib.mkDefault false;
|
||||||
|
};
|
||||||
|
|
||||||
|
desktop = {
|
||||||
|
sway.enable = lib.mkDefault false;
|
||||||
|
i3.enable = lib.mkDefault false;
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg.portal = {
|
||||||
|
xdgOpenUsePortal = true;
|
||||||
|
enable = true;
|
||||||
|
wlr.enable = true;
|
||||||
|
lxqt.enable = true;
|
||||||
|
extraPortals = [
|
||||||
|
pkgs.xdg-desktop-portal-wlr
|
||||||
|
pkgs.xdg-desktop-portal-gtk
|
||||||
|
pkgs.xdg-desktop-portal-kde
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.zsh = {
|
||||||
|
enable = true;
|
||||||
|
autosuggestions = {
|
||||||
|
enable = true;
|
||||||
|
async = true;
|
||||||
|
};
|
||||||
|
syntaxHighlighting = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.starship = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
format = "[░▒▓](#a3aed2)[ ](bg:#a3aed2 fg:#090c0c)[](bg:#769ff0 fg:#a3aed2)$directory[](fg:#769ff0 bg:#394260)$git_branch$git_status[](fg:#394260 bg:#212736)$php[](fg:#212736 bg:#1d2230)$time[ ](fg:#1d2230)$character";
|
||||||
|
|
||||||
|
directory = {
|
||||||
|
style = "fg:#e3e5e5 bg:#769ff0";
|
||||||
|
format = "[ $path ]($style)";
|
||||||
|
truncation_length = 3;
|
||||||
|
truncation_symbol = "…/";
|
||||||
|
};
|
||||||
|
git_branch = {
|
||||||
|
symbol = "";
|
||||||
|
style = "bg:#394260";
|
||||||
|
format = "[[ $symbol $branch ](fg:#769ff0 bg:#394260)]($style)";
|
||||||
|
};
|
||||||
|
git_status = {
|
||||||
|
style = "bg:#394260";
|
||||||
|
format = "[[($all_status$ahead_behind )](fg:#769ff0 bg:#394260)]($style)";
|
||||||
|
};
|
||||||
|
php = {
|
||||||
|
symbol = "";
|
||||||
|
style = "bg:#212736";
|
||||||
|
format = "[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)";
|
||||||
|
};
|
||||||
|
time = {
|
||||||
|
disabled = false;
|
||||||
|
time_format = "%R"; # Hour:Minute Format
|
||||||
|
style = "bg:#1d2230";
|
||||||
|
format = "[[ $time ](fg:#a0a9cb bg:#1d2230)]($style)";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
users.defaultUserShell = pkgs.zsh;
|
||||||
|
|
||||||
|
# Configure pulseaudio
|
||||||
|
hardware.graphics.enable32Bit = config.module.gaming.enable;
|
||||||
|
hardware.pulseaudio.support32Bit = config.module.gaming.enable;
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
};
|
||||||
|
services.keyd = {
|
||||||
|
enable = true;
|
||||||
|
keyboards.default = {
|
||||||
|
ids = ["*"];
|
||||||
|
extraConfig = ''
|
||||||
|
[global]
|
||||||
|
|
||||||
|
default_layout = main
|
||||||
|
|
||||||
|
[main:layout]
|
||||||
|
|
||||||
|
capslock = layer(standardL2)
|
||||||
|
|
||||||
|
[standardL2]
|
||||||
|
|
||||||
|
w = up
|
||||||
|
s = down
|
||||||
|
a = left
|
||||||
|
d = right
|
||||||
|
|
||||||
|
b = C-b
|
||||||
|
|
||||||
|
space = playpause
|
||||||
|
. = nextsong
|
||||||
|
, = previoussong
|
||||||
|
|
||||||
|
[ = delete
|
||||||
|
] = end
|
||||||
|
escape = ~
|
||||||
|
|
||||||
|
home = end
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,14 @@
|
||||||
{ lib, config, ...}: {
|
{
|
||||||
imports = [
|
lib,
|
||||||
./core.nix
|
config,
|
||||||
./boot.nix
|
...
|
||||||
./networking.nix
|
}: {
|
||||||
./programs.nix
|
imports = [
|
||||||
./users
|
./core.nix
|
||||||
./desktops
|
./boot.nix
|
||||||
];
|
./networking.nix
|
||||||
|
./programs.nix
|
||||||
|
./users
|
||||||
|
./desktops
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,13 @@
|
||||||
{ lib, config, ...}: {
|
{
|
||||||
imports = [
|
lib,
|
||||||
# Wayland desktops here
|
config,
|
||||||
./wayland/sway.nix
|
...
|
||||||
|
}: {
|
||||||
# X11 desktops here
|
imports = [
|
||||||
./x11/i3.nix
|
# Wayland desktops here
|
||||||
];
|
./wayland/sway.nix
|
||||||
}
|
|
||||||
|
|
||||||
|
# X11 desktops here
|
||||||
|
./x11/i3.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,23 @@
|
||||||
{ inputs, pkgs, lib, config, ...}: {
|
{
|
||||||
options.desktop.sway.enable = lib.mkEnableOption "enables sway";
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
options.desktop.sway.enable = lib.mkEnableOption "enables sway";
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
programs.sway = lib.mkIf config.desktop.sway.enable {
|
programs.sway = lib.mkIf config.desktop.sway.enable {
|
||||||
enable = true;
|
enable = true;
|
||||||
xwayland.enable = true;
|
xwayland.enable = true;
|
||||||
};
|
|
||||||
programs.dconf.enable = true;
|
|
||||||
};
|
};
|
||||||
|
programs.dconf.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
config.environment = lib.mkIf config.desktop.sway.enable {
|
||||||
config.environment = lib.mkIf config.desktop.sway.enable {
|
sessionVariables = {
|
||||||
sessionVariables = {
|
NIXOS_OZONE_WL = "1";
|
||||||
NIXOS_OZONE_WL = "1";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,18 @@
|
||||||
{ inputs, pkgs, lib, config, ...}: {
|
{
|
||||||
options.desktop.i3.enable = lib.mkEnableOption "enables i3";
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
options.desktop.i3.enable = lib.mkEnableOption "enables i3";
|
||||||
|
|
||||||
config = lib.mkIf config.desktop.i3.enable {
|
config = lib.mkIf config.desktop.i3.enable {
|
||||||
services.xserver = {
|
services.xserver = {
|
||||||
displayManager.startx.enable = true;
|
displayManager.startx.enable = true;
|
||||||
windowManager.i3 = {
|
windowManager.i3 = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{
|
{
|
||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = true;
|
||||||
networking.firewall.enable = false;
|
networking.firewall.enable = false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,152 +1,168 @@
|
||||||
{ inputs, pkgs, lib, config, ...}: {
|
{
|
||||||
environment.systemPackages = with pkgs;
|
inputs,
|
||||||
(
|
pkgs,
|
||||||
# Core packages
|
lib,
|
||||||
if config.module.core.enable
|
config,
|
||||||
then [
|
...
|
||||||
vim
|
}: {
|
||||||
wget
|
environment.systemPackages = with pkgs;
|
||||||
screen
|
(
|
||||||
git
|
# Core packages
|
||||||
curl
|
if config.module.core.enable
|
||||||
tmux
|
then [
|
||||||
pulseaudio
|
vim
|
||||||
keyd
|
wget
|
||||||
unar
|
screen
|
||||||
alejandra
|
git
|
||||||
] else []
|
curl
|
||||||
)
|
tmux
|
||||||
++ (
|
pulseaudio
|
||||||
if config.module.gui.enable
|
keyd
|
||||||
then [
|
unar
|
||||||
# Writing
|
alejandra
|
||||||
hunspellDicts.en-us
|
]
|
||||||
libreoffice
|
else []
|
||||||
hunspell
|
)
|
||||||
|
++ (
|
||||||
|
if config.module.gui.enable
|
||||||
|
then [
|
||||||
|
# Writing
|
||||||
|
hunspellDicts.en-us
|
||||||
|
libreoffice
|
||||||
|
hunspell
|
||||||
|
|
||||||
# Audio
|
# Audio
|
||||||
pavucontrol
|
pavucontrol
|
||||||
pulsemixer
|
pulsemixer
|
||||||
noisetorch
|
noisetorch
|
||||||
|
|
||||||
# Communication
|
# Communication
|
||||||
mattermost-desktop
|
mattermost-desktop
|
||||||
slack
|
slack
|
||||||
zoom-us
|
zoom-us
|
||||||
vesktop
|
vesktop
|
||||||
discord
|
discord
|
||||||
signal-desktop
|
signal-desktop
|
||||||
teamspeak_client
|
teamspeak_client
|
||||||
|
|
||||||
# Browsing
|
# Browsing
|
||||||
tor-browser
|
tor-browser
|
||||||
|
|
||||||
# Music
|
# Music
|
||||||
spotify
|
spotify
|
||||||
strawberry-qt6
|
strawberry-qt6
|
||||||
|
|
||||||
# Utilities
|
# Utilities
|
||||||
taskwarrior3
|
taskwarrior3
|
||||||
neofetch
|
neofetch
|
||||||
gimp
|
gimp
|
||||||
pulseaudio-ctl
|
pulseaudio-ctl
|
||||||
playerctl
|
playerctl
|
||||||
brightnessctl
|
brightnessctl
|
||||||
] else []
|
]
|
||||||
)
|
else []
|
||||||
++ (
|
)
|
||||||
if config.module.wayland.enable
|
++ (
|
||||||
then [
|
if config.module.wayland.enable
|
||||||
foot
|
then [
|
||||||
wofi
|
foot
|
||||||
swaynotificationcenter
|
wofi
|
||||||
udiskie
|
swaynotificationcenter
|
||||||
polkit_gnome
|
udiskie
|
||||||
swayidle
|
polkit_gnome
|
||||||
sway-audio-idle-inhibit
|
swayidle
|
||||||
swaylock-effects
|
sway-audio-idle-inhibit
|
||||||
sway-contrib.grimshot
|
swaylock-effects
|
||||||
glfw-wayland-minecraft
|
sway-contrib.grimshot
|
||||||
waybar
|
glfw-wayland-minecraft
|
||||||
wl-clipboard
|
waybar
|
||||||
xorg.xrandr
|
wl-clipboard
|
||||||
] else []
|
xorg.xrandr
|
||||||
)
|
]
|
||||||
++ (
|
else []
|
||||||
if config.module.x11.enable
|
)
|
||||||
then [
|
++ (
|
||||||
xterm
|
if config.module.x11.enable
|
||||||
rofi
|
then [
|
||||||
xorg.xrandr
|
xterm
|
||||||
] else []
|
rofi
|
||||||
)
|
xorg.xrandr
|
||||||
++ (
|
]
|
||||||
if config.module.programming.enable
|
else []
|
||||||
then [
|
)
|
||||||
inputs.nixvim.packages.${pkgs.system}.default
|
++ (
|
||||||
lua
|
if config.module.programming.enable
|
||||||
libgcc
|
then [
|
||||||
php83
|
inputs.nixvim.packages.${pkgs.system}.default
|
||||||
php83Packages.composer
|
lua
|
||||||
python3
|
libgcc
|
||||||
serverless
|
php83
|
||||||
jwt-cli
|
php83Packages.composer
|
||||||
jq
|
python3
|
||||||
ddev
|
serverless
|
||||||
cloc
|
jwt-cli
|
||||||
ansible
|
jq
|
||||||
] else []
|
ddev
|
||||||
)
|
cloc
|
||||||
++ (
|
ansible
|
||||||
if config.module.hacking.enable
|
]
|
||||||
then [
|
else []
|
||||||
metasploit
|
)
|
||||||
exploitdb
|
++ (
|
||||||
ghidra
|
if config.module.hacking.enable
|
||||||
wireshark
|
then [
|
||||||
termshark
|
metasploit
|
||||||
nmap
|
exploitdb
|
||||||
hashcat
|
ghidra
|
||||||
dirstalk
|
wireshark
|
||||||
rtl-sdr
|
termshark
|
||||||
] else []
|
nmap
|
||||||
)
|
hashcat
|
||||||
++ (
|
dirstalk
|
||||||
if config.module.mudding.enable
|
rtl-sdr
|
||||||
then [
|
]
|
||||||
mudlet
|
else []
|
||||||
] else []
|
)
|
||||||
)
|
++ (
|
||||||
++ (
|
if config.module.mudding.enable
|
||||||
if config.module.appdevel.enable
|
then [
|
||||||
then [
|
mudlet
|
||||||
flutter
|
]
|
||||||
waydroid
|
else []
|
||||||
ungoogled-chromium
|
)
|
||||||
android-studio-full
|
++ (
|
||||||
] else []
|
if config.module.appdevel.enable
|
||||||
)
|
then [
|
||||||
++ (
|
flutter
|
||||||
if config.module.gaming.enable
|
waydroid
|
||||||
then [
|
ungoogled-chromium
|
||||||
steam
|
android-studio-full
|
||||||
protonup-qt
|
]
|
||||||
steamtinkerlaunch
|
else []
|
||||||
prismlauncher
|
)
|
||||||
mudlet
|
++ (
|
||||||
widelands
|
if config.module.gaming.enable
|
||||||
wesnoth
|
then [
|
||||||
gamescope
|
steam
|
||||||
gamemode
|
protonup-qt
|
||||||
r2modman
|
steamtinkerlaunch
|
||||||
] else []
|
prismlauncher
|
||||||
)
|
mudlet
|
||||||
++ (
|
widelands
|
||||||
if config.module.vr.enable
|
wesnoth
|
||||||
then [
|
gamescope
|
||||||
alvr
|
gamemode
|
||||||
wlx-overlay-s
|
r2modman
|
||||||
immersed
|
]
|
||||||
] else []
|
else []
|
||||||
);
|
)
|
||||||
|
++ (
|
||||||
|
if config.module.vr.enable
|
||||||
|
then [
|
||||||
|
alvr
|
||||||
|
wlx-overlay-s
|
||||||
|
immersed
|
||||||
|
]
|
||||||
|
else []
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,9 @@
|
||||||
{lib, config, ...}: {
|
{
|
||||||
imports = [
|
lib,
|
||||||
./user.nix
|
config,
|
||||||
];
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
./user.nix
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,97 +1,108 @@
|
||||||
{osConfig, config, inputs, pkgs, lib, ...}:
|
|
||||||
let
|
|
||||||
hyprMonitorConfig = if osConfig.networking.hostName == "Parzival" then ./configs/hypr/parzival-monitors.conf
|
|
||||||
else if osConfig.networking.hostName == "Parzival-Mobile" then ./configs/hypr/parzival_mobile-monitors.conf
|
|
||||||
else null;
|
|
||||||
swayMonitorConfig = if osConfig.networking.hostName == "Parzival" then ./configs/sway/parzival-monitors.conf
|
|
||||||
else if osConfig.networking.hostName == "Parzival-Mobile" then ./configs/sway/parzival_mobile-monitors.conf
|
|
||||||
else null;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
home = {
|
osConfig,
|
||||||
username = "crow";
|
config,
|
||||||
homeDirectory = "/home/crow";
|
inputs,
|
||||||
stateVersion = "24.05";
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
hyprMonitorConfig =
|
||||||
|
if osConfig.networking.hostName == "Parzival"
|
||||||
|
then ./configs/hypr/parzival-monitors.conf
|
||||||
|
else if osConfig.networking.hostName == "Parzival-Mobile"
|
||||||
|
then ./configs/hypr/parzival_mobile-monitors.conf
|
||||||
|
else null;
|
||||||
|
swayMonitorConfig =
|
||||||
|
if osConfig.networking.hostName == "Parzival"
|
||||||
|
then ./configs/sway/parzival-monitors.conf
|
||||||
|
else if osConfig.networking.hostName == "Parzival-Mobile"
|
||||||
|
then ./configs/sway/parzival_mobile-monitors.conf
|
||||||
|
else null;
|
||||||
|
in {
|
||||||
|
home = {
|
||||||
|
username = "crow";
|
||||||
|
homeDirectory = "/home/crow";
|
||||||
|
stateVersion = "24.05";
|
||||||
|
|
||||||
# Tools
|
# Tools
|
||||||
file.".config/tmux/tmux.conf".source = ./configs/tmux/tmux.conf;
|
file.".config/tmux/tmux.conf".source = ./configs/tmux/tmux.conf;
|
||||||
file.".config/git/config".source = ./configs/git/git.conf;
|
file.".config/git/config".source = ./configs/git/git.conf;
|
||||||
|
|
||||||
# Hyprland
|
|
||||||
file.".config/hypr/hyprland.conf".source = ./configs/hypr/hyprland.conf;
|
|
||||||
file.".config/hypr/monitors.conf".source = lib.mkIf (hyprMonitorConfig != null) hyprMonitorConfig;
|
|
||||||
|
|
||||||
# Waybar
|
|
||||||
file.".config/waybar/config.jsonc".source = ./configs/waybar/config.jsonc;
|
|
||||||
file.".config/waybar/style.css".source = ./configs/waybar/style.css;
|
|
||||||
|
|
||||||
# Sway
|
|
||||||
file.".config/sway/config".source = ./configs/sway/sway.conf;
|
|
||||||
file.".config/sway/monitors.conf".source = lib.mkIf (swayMonitorConfig != null) swayMonitorConfig;
|
|
||||||
file.".config/sway/background-1".source = ./configs/wallpapers/cyber_defiance.jpg;
|
|
||||||
file.".config/sway/background-2".source = ./configs/wallpapers/cyber_skyscrapers.jpg;
|
|
||||||
file.".config/sway/background-3".source = ./configs/wallpapers/kali_lol.jpg;
|
|
||||||
|
|
||||||
# i3
|
# Hyprland
|
||||||
file.".config/i3/config".source = ./configs/i3/i3.conf;
|
file.".config/hypr/hyprland.conf".source = ./configs/hypr/hyprland.conf;
|
||||||
file."/home/crow/.xinitrc".source = ./configs/x11/xinitrc;
|
file.".config/hypr/monitors.conf".source = lib.mkIf (hyprMonitorConfig != null) hyprMonitorConfig;
|
||||||
};
|
|
||||||
|
|
||||||
xdg = {
|
# Waybar
|
||||||
configHome = "/home/crow/.config";
|
file.".config/waybar/config.jsonc".source = ./configs/waybar/config.jsonc;
|
||||||
enable = true;
|
file.".config/waybar/style.css".source = ./configs/waybar/style.css;
|
||||||
};
|
|
||||||
|
# Sway
|
||||||
programs = {
|
file.".config/sway/config".source = ./configs/sway/sway.conf;
|
||||||
firefox = {
|
file.".config/sway/monitors.conf".source = lib.mkIf (swayMonitorConfig != null) swayMonitorConfig;
|
||||||
enable = true;
|
file.".config/sway/background-1".source = ./configs/wallpapers/cyber_defiance.jpg;
|
||||||
policies = {
|
file.".config/sway/background-2".source = ./configs/wallpapers/cyber_skyscrapers.jpg;
|
||||||
BlockAboutConfig = true;
|
file.".config/sway/background-3".source = ./configs/wallpapers/kali_lol.jpg;
|
||||||
DisableFirefoxStudies = true;
|
|
||||||
DisableFormHistory = true;
|
# i3
|
||||||
DisablePasswordReveal = true;
|
file.".config/i3/config".source = ./configs/i3/i3.conf;
|
||||||
DisablePocket = true;
|
file."/home/crow/.xinitrc".source = ./configs/x11/xinitrc;
|
||||||
DisableProfileImport = true;
|
};
|
||||||
DontCheckDefaultBrowser = true;
|
|
||||||
EnableTrackingProtection = {
|
xdg = {
|
||||||
Value = true;
|
configHome = "/home/crow/.config";
|
||||||
Locked = true;
|
enable = true;
|
||||||
Cryptomining = true;
|
};
|
||||||
Fingerprinting = true;
|
|
||||||
};
|
programs = {
|
||||||
Homepage = {
|
firefox = {
|
||||||
URL = "https://home.wanderingcrow.net";
|
enable = true;
|
||||||
StartPage = "homepage";
|
policies = {
|
||||||
};
|
BlockAboutConfig = true;
|
||||||
OfferToSaveLogins = false;
|
DisableFirefoxStudies = true;
|
||||||
PasswordManagerEnabled = false;
|
DisableFormHistory = true;
|
||||||
ExtensionSettings = {
|
DisablePasswordReveal = true;
|
||||||
"*".installation_mode = "blocked";
|
DisablePocket = true;
|
||||||
"*".blocked_install_message = "Please manage extensions through your NixOS config";
|
DisableProfileImport = true;
|
||||||
# Bitwarden
|
DontCheckDefaultBrowser = true;
|
||||||
"{446900e4-71c2-419f-a6a7-df9c091e268b}" = {
|
EnableTrackingProtection = {
|
||||||
installation_mode = "force_installed";
|
Value = true;
|
||||||
install_url = "https://addons.mozilla.org/firefox/downloads/latest/{446900e4-71c2-419f-a6a7-df9c091e268b}/latest.xpl";
|
Locked = true;
|
||||||
default_area = "navbar";
|
Cryptomining = true;
|
||||||
};
|
Fingerprinting = true;
|
||||||
"contact@grimoire.pro" = {
|
|
||||||
installation_mode = "force_installed";
|
|
||||||
install_url = "https://addons.mozilla.org/firefox/downloads/latest/contact@grimoire.pro/latest.xpl";
|
|
||||||
default_area = "navbar";
|
|
||||||
};
|
|
||||||
"uBlock0@raymondhill.net" = {
|
|
||||||
installation_mode = "force_installed";
|
|
||||||
install_url = "https://addons.mozilla.org/firefox/downloads/latest/uBlock0@raymondhill.net/latest.xpl";
|
|
||||||
default_area = "menupanel";
|
|
||||||
};
|
|
||||||
# Vimium
|
|
||||||
"{d7742d87-e61d-4b78-b8a1-b469842139fa}" = {
|
|
||||||
installation_mode = "force_installed";
|
|
||||||
install_url = "https://addons.mozilla.org/firefox/downloads/latest/{d7742d87-e61d-4b78-b8a1-b469842139fa}/latest.xpl";
|
|
||||||
default_area = "menupanel";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
Homepage = {
|
||||||
|
URL = "https://home.wanderingcrow.net";
|
||||||
|
StartPage = "homepage";
|
||||||
|
};
|
||||||
|
OfferToSaveLogins = false;
|
||||||
|
PasswordManagerEnabled = false;
|
||||||
|
ExtensionSettings = {
|
||||||
|
"*".installation_mode = "blocked";
|
||||||
|
"*".blocked_install_message = "Please manage extensions through your NixOS config";
|
||||||
|
# Bitwarden
|
||||||
|
"{446900e4-71c2-419f-a6a7-df9c091e268b}" = {
|
||||||
|
installation_mode = "force_installed";
|
||||||
|
install_url = "https://addons.mozilla.org/firefox/downloads/latest/{446900e4-71c2-419f-a6a7-df9c091e268b}/latest.xpl";
|
||||||
|
default_area = "navbar";
|
||||||
|
};
|
||||||
|
"contact@grimoire.pro" = {
|
||||||
|
installation_mode = "force_installed";
|
||||||
|
install_url = "https://addons.mozilla.org/firefox/downloads/latest/contact@grimoire.pro/latest.xpl";
|
||||||
|
default_area = "navbar";
|
||||||
|
};
|
||||||
|
"uBlock0@raymondhill.net" = {
|
||||||
|
installation_mode = "force_installed";
|
||||||
|
install_url = "https://addons.mozilla.org/firefox/downloads/latest/uBlock0@raymondhill.net/latest.xpl";
|
||||||
|
default_area = "menupanel";
|
||||||
|
};
|
||||||
|
# Vimium
|
||||||
|
"{d7742d87-e61d-4b78-b8a1-b469842139fa}" = {
|
||||||
|
installation_mode = "force_installed";
|
||||||
|
install_url = "https://addons.mozilla.org/firefox/downloads/latest/{d7742d87-e61d-4b78-b8a1-b469842139fa}/latest.xpl";
|
||||||
|
default_area = "menupanel";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,25 +1,30 @@
|
||||||
{ pkgs, lib, config, ...}: {
|
{
|
||||||
config.users.users.crow = lib.mkIf config.user.crow.enable {
|
pkgs,
|
||||||
isNormalUser = true;
|
lib,
|
||||||
initialPassword = "changeme";
|
config,
|
||||||
extraGroups = [ "wheel" "networkmanager" "audio" "plugdev" ];
|
...
|
||||||
};
|
}: {
|
||||||
|
config.users.users.crow = lib.mkIf config.user.crow.enable {
|
||||||
|
isNormalUser = true;
|
||||||
|
initialPassword = "changeme";
|
||||||
|
extraGroups = ["wheel" "networkmanager" "audio" "plugdev"];
|
||||||
|
};
|
||||||
|
|
||||||
config.systemd.services.note_sync = {
|
config.systemd.services.note_sync = {
|
||||||
enable = true;
|
enable = true;
|
||||||
description = "Auto sync notes to remote";
|
description = "Auto sync notes to remote";
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
User = "crow";
|
User = "crow";
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
};
|
|
||||||
path = [
|
|
||||||
"/run/current-system/sw"
|
|
||||||
];
|
|
||||||
startAt = [
|
|
||||||
"*:0/5"
|
|
||||||
];
|
|
||||||
script = "cd /home/crow/Notes\ngit pull\ngit add .\ngit diff-index --quiet HEAD || git commit -am 'automatic backup'\ngit push";
|
|
||||||
};
|
};
|
||||||
|
path = [
|
||||||
|
"/run/current-system/sw"
|
||||||
|
];
|
||||||
|
startAt = [
|
||||||
|
"*:0/5"
|
||||||
|
];
|
||||||
|
script = "cd /home/crow/Notes\ngit pull\ngit add .\ngit diff-index --quiet HEAD || git commit -am 'automatic backup'\ngit push";
|
||||||
|
};
|
||||||
|
|
||||||
config.home-manager.users.crow = lib.mkIf config.user.crow.home.enable ./home.nix;
|
config.home-manager.users.crow = lib.mkIf config.user.crow.home.enable ./home.nix;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,12 @@
|
||||||
{config, ...}: {
|
{config, ...}: {
|
||||||
imports = [
|
imports = [
|
||||||
./crow
|
./crow
|
||||||
./overseer
|
./overseer
|
||||||
];
|
];
|
||||||
|
|
||||||
config.home-manager = {
|
config.home-manager = {
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
backupFileExtension = "backup";
|
backupFileExtension = "backup";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,10 @@
|
||||||
{lib, config, ...}: {
|
{
|
||||||
imports = [
|
lib,
|
||||||
./user.nix
|
config,
|
||||||
./podman.nix
|
...
|
||||||
];
|
}: {
|
||||||
|
imports = [
|
||||||
|
./user.nix
|
||||||
|
./podman.nix
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,11 @@
|
||||||
{ lib, config, ...}: {
|
{
|
||||||
|
lib,
|
||||||
# virtualisation.oci-containers = {
|
config,
|
||||||
# backend = "podman";
|
...
|
||||||
# containers = {
|
}: {
|
||||||
# containers.grimoire = {
|
# virtualisation.oci-containers = {
|
||||||
#
|
# backend = "podman";
|
||||||
|
# containers = {
|
||||||
|
# containers.grimoire = {
|
||||||
|
#
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,11 @@
|
||||||
{ lib, config, ...}: {
|
{
|
||||||
config.users.users.overseer = lib.mkIf config.user.overseer.enable {
|
lib,
|
||||||
isNormalUser = true;
|
config,
|
||||||
initialPassword = "changeme";
|
...
|
||||||
extraGroups = [ "wheel" "libvirtd" ];
|
}: {
|
||||||
};
|
config.users.users.overseer = lib.mkIf config.user.overseer.enable {
|
||||||
|
isNormalUser = true;
|
||||||
|
initialPassword = "changeme";
|
||||||
|
extraGroups = ["wheel" "libvirtd"];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue