mirror of
https://github.com/TheWanderingCrow/CrOS.git
synced 2026-01-11 09:44:08 -05:00
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 = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
nur.url = "github:nix-community/NUR";
|
||||
home-manager.url = "github:nix-community/home-manager";
|
||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||
hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
|
||||
nixvim.url = "git+https://git.wanderingcrow.net/TheWanderingCrow/nvix";
|
||||
alejandra.url = "github:kamadorueda/alejandra/3.1.0";
|
||||
alejandra.inputs.nixpkgs.follows = "nixpkgs";
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
nur.url = "github:nix-community/NUR";
|
||||
home-manager.url = "github:nix-community/home-manager";
|
||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||
hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
|
||||
nixvim.url = "git+https://git.wanderingcrow.net/TheWanderingCrow/nvix";
|
||||
alejandra.url = "github:kamadorueda/alejandra/3.1.0";
|
||||
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
|
||||
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;
|
||||
};
|
||||
|
||||
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;};
|
||||
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
|
||||
../../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.wayland.enable = true;
|
||||
module.programming.enable = true;
|
||||
module.hacking.enable = true;
|
||||
module.mudding.enable = true;
|
||||
module.gui.enable = true;
|
||||
module.wayland.enable = true;
|
||||
module.programming.enable = true;
|
||||
module.hacking.enable = true;
|
||||
module.mudding.enable = true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,32 +1,36 @@
|
|||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usb_storage" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "usb_storage" "sd_mod"];
|
||||
boot.initrd.kernelModules = [];
|
||||
boot.kernelModules = ["kvm-intel"];
|
||||
boot.extraModulePackages = [];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/0e8c3f30-2abb-4687-b541-3f6dfdb2fa72";
|
||||
fsType = "ext4";
|
||||
};
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/0e8c3f30-2abb-4687-b541-3f6dfdb2fa72";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/E6CB-9DA5";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0022" "dmask=0022" ];
|
||||
};
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/E6CB-9DA5";
|
||||
fsType = "vfat";
|
||||
options = ["fmask=0022" "dmask=0022"];
|
||||
};
|
||||
|
||||
swapDevices =
|
||||
[ { device = "/dev/disk/by-uuid/928718de-b495-4a7c-b9d4-eb491b6c8253"; }
|
||||
];
|
||||
swapDevices = [
|
||||
{device = "/dev/disk/by-uuid/928718de-b495-4a7c-b9d4-eb491b6c8253";}
|
||||
];
|
||||
|
||||
# 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
|
||||
|
|
|
|||
|
|
@ -1,19 +1,24 @@
|
|||
{lib, config, pkgs, ...}:{
|
||||
imports = [
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
../../modules
|
||||
];
|
||||
];
|
||||
|
||||
networking.hostName = "Parzival-Work";
|
||||
networking.hostName = "Parzival-Work";
|
||||
|
||||
user.crow.enable = true;
|
||||
user.crow.enable = true;
|
||||
|
||||
desktop.sway.enable = true;
|
||||
desktop.i3.enable = true;
|
||||
desktop.sway.enable = true;
|
||||
desktop.i3.enable = true;
|
||||
|
||||
module.gui.enable = true;
|
||||
module.programming.enable = true;
|
||||
module.wayland.enable = true;
|
||||
module.x11.enable = true;
|
||||
module.mudding.enable = true;
|
||||
module.gui.enable = true;
|
||||
module.programming.enable = true;
|
||||
module.wayland.enable = true;
|
||||
module.x11.enable = true;
|
||||
module.mudding.enable = true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,25 +1,30 @@
|
|||
{lib, config, pkgs, ...}:{
|
||||
imports = [
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
../../modules
|
||||
];
|
||||
];
|
||||
|
||||
networking.hostName = "Parzival";
|
||||
|
||||
user.crow.enable = true;
|
||||
networking.hostName = "Parzival";
|
||||
|
||||
desktop.sway.enable = true;
|
||||
desktop.i3.enable = true;
|
||||
user.crow.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;
|
||||
desktop.sway.enable = true;
|
||||
desktop.i3.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’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-amd" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod"];
|
||||
boot.initrd.kernelModules = [];
|
||||
boot.kernelModules = ["kvm-amd"];
|
||||
boot.extraModulePackages = [];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-label/nixos";
|
||||
fsType = "ext4";
|
||||
};
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-label/nixos";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-label/boot";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0022" "dmask=0022" ];
|
||||
};
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-label/boot";
|
||||
fsType = "vfat";
|
||||
options = ["fmask=0022" "dmask=0022"];
|
||||
};
|
||||
|
||||
swapDevices = [ ];
|
||||
swapDevices = [];
|
||||
|
||||
# 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
|
||||
# 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`.
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.enp4s0.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.wlp8s0.useDHCP = lib.mkDefault true;
|
||||
# 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
|
||||
# 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`.
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.enp4s0.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.wlp8s0.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
hardware.amdgpu = {
|
||||
initrd.enable = true;
|
||||
amdvlk.enable = true;
|
||||
opencl.enable = true;
|
||||
};
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
hardware.amdgpu = {
|
||||
initrd.enable = true;
|
||||
amdvlk.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
|
||||
];
|
||||
];
|
||||
|
||||
networking.hostName = "WCE-Overseer";
|
||||
proxmoxLXC.manageNetwork = true;
|
||||
networking.hostName = "WCE-Overseer";
|
||||
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 = {
|
||||
systemd-boot.enable = true;
|
||||
efi = {
|
||||
canTouchEfiVariables = true;
|
||||
};
|
||||
};
|
||||
boot.loader = {
|
||||
systemd-boot.enable = true;
|
||||
efi = {
|
||||
canTouchEfiVariables = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
355
modules/core.nix
355
modules/core.nix
|
|
@ -1,184 +1,183 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
module = {
|
||||
enable = lib.mkEnableOption "enables packages";
|
||||
core.enable = lib.mkEnableOption "enables required packages";
|
||||
gui.enable = lib.mkEnableOption "enables gui+DE packages";
|
||||
wayland.enable = lib.mkEnableOption "enables wayland packages";
|
||||
x11.enable = lib.mkEnableOption "enables x11 packages";
|
||||
programming.enable = lib.mkEnableOption "enables programming packages";
|
||||
hacking.enable = lib.mkEnableOption "enables hacking packages";
|
||||
mudding.enable = lib.mkEnableOption "enables mudding packages";
|
||||
gaming.enable = lib.mkEnableOption "enables gaming packages";
|
||||
appdevel.enable = lib.mkEnableOption "enables app development in flutter";
|
||||
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";
|
||||
};
|
||||
};
|
||||
options = {
|
||||
module = {
|
||||
enable = lib.mkEnableOption "enables packages";
|
||||
core.enable = lib.mkEnableOption "enables required packages";
|
||||
gui.enable = lib.mkEnableOption "enables gui+DE packages";
|
||||
wayland.enable = lib.mkEnableOption "enables wayland packages";
|
||||
x11.enable = lib.mkEnableOption "enables x11 packages";
|
||||
programming.enable = lib.mkEnableOption "enables programming packages";
|
||||
hacking.enable = lib.mkEnableOption "enables hacking packages";
|
||||
mudding.enable = lib.mkEnableOption "enables mudding packages";
|
||||
gaming.enable = lib.mkEnableOption "enables gaming packages";
|
||||
appdevel.enable = lib.mkEnableOption "enables app development in flutter";
|
||||
vr.enable = lib.mkEnableOption "enables VR utilities";
|
||||
};
|
||||
|
||||
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
|
||||
'';
|
||||
};
|
||||
};
|
||||
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 = {
|
||||
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 = [
|
||||
./core.nix
|
||||
./boot.nix
|
||||
./networking.nix
|
||||
./programs.nix
|
||||
./users
|
||||
./desktops
|
||||
];
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./core.nix
|
||||
./boot.nix
|
||||
./networking.nix
|
||||
./programs.nix
|
||||
./users
|
||||
./desktops
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,13 @@
|
|||
{ lib, config, ...}: {
|
||||
imports = [
|
||||
# Wayland desktops here
|
||||
./wayland/sway.nix
|
||||
|
||||
# X11 desktops here
|
||||
./x11/i3.nix
|
||||
];
|
||||
}
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
# 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 = {
|
||||
programs.sway = lib.mkIf config.desktop.sway.enable {
|
||||
enable = true;
|
||||
xwayland.enable = true;
|
||||
};
|
||||
programs.dconf.enable = true;
|
||||
config = {
|
||||
programs.sway = lib.mkIf config.desktop.sway.enable {
|
||||
enable = true;
|
||||
xwayland.enable = true;
|
||||
};
|
||||
programs.dconf.enable = true;
|
||||
};
|
||||
|
||||
|
||||
config.environment = lib.mkIf config.desktop.sway.enable {
|
||||
sessionVariables = {
|
||||
NIXOS_OZONE_WL = "1";
|
||||
};
|
||||
config.environment = lib.mkIf config.desktop.sway.enable {
|
||||
sessionVariables = {
|
||||
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 {
|
||||
services.xserver = {
|
||||
displayManager.startx.enable = true;
|
||||
windowManager.i3 = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
config = lib.mkIf config.desktop.i3.enable {
|
||||
services.xserver = {
|
||||
displayManager.startx.enable = true;
|
||||
windowManager.i3 = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{
|
||||
networking.networkmanager.enable = true;
|
||||
networking.firewall.enable = false;
|
||||
networking.networkmanager.enable = true;
|
||||
networking.firewall.enable = false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,152 +1,168 @@
|
|||
{ inputs, pkgs, lib, config, ...}: {
|
||||
environment.systemPackages = with pkgs;
|
||||
(
|
||||
# Core packages
|
||||
if config.module.core.enable
|
||||
then [
|
||||
vim
|
||||
wget
|
||||
screen
|
||||
git
|
||||
curl
|
||||
tmux
|
||||
pulseaudio
|
||||
keyd
|
||||
unar
|
||||
alejandra
|
||||
] else []
|
||||
)
|
||||
++ (
|
||||
if config.module.gui.enable
|
||||
then [
|
||||
# Writing
|
||||
hunspellDicts.en-us
|
||||
libreoffice
|
||||
hunspell
|
||||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
environment.systemPackages = with pkgs;
|
||||
(
|
||||
# Core packages
|
||||
if config.module.core.enable
|
||||
then [
|
||||
vim
|
||||
wget
|
||||
screen
|
||||
git
|
||||
curl
|
||||
tmux
|
||||
pulseaudio
|
||||
keyd
|
||||
unar
|
||||
alejandra
|
||||
]
|
||||
else []
|
||||
)
|
||||
++ (
|
||||
if config.module.gui.enable
|
||||
then [
|
||||
# Writing
|
||||
hunspellDicts.en-us
|
||||
libreoffice
|
||||
hunspell
|
||||
|
||||
# Audio
|
||||
pavucontrol
|
||||
pulsemixer
|
||||
noisetorch
|
||||
# Audio
|
||||
pavucontrol
|
||||
pulsemixer
|
||||
noisetorch
|
||||
|
||||
# Communication
|
||||
mattermost-desktop
|
||||
slack
|
||||
zoom-us
|
||||
vesktop
|
||||
discord
|
||||
signal-desktop
|
||||
teamspeak_client
|
||||
# Communication
|
||||
mattermost-desktop
|
||||
slack
|
||||
zoom-us
|
||||
vesktop
|
||||
discord
|
||||
signal-desktop
|
||||
teamspeak_client
|
||||
|
||||
# Browsing
|
||||
tor-browser
|
||||
# Browsing
|
||||
tor-browser
|
||||
|
||||
# Music
|
||||
spotify
|
||||
strawberry-qt6
|
||||
# Music
|
||||
spotify
|
||||
strawberry-qt6
|
||||
|
||||
# Utilities
|
||||
taskwarrior3
|
||||
neofetch
|
||||
gimp
|
||||
pulseaudio-ctl
|
||||
playerctl
|
||||
brightnessctl
|
||||
] else []
|
||||
)
|
||||
++ (
|
||||
if config.module.wayland.enable
|
||||
then [
|
||||
foot
|
||||
wofi
|
||||
swaynotificationcenter
|
||||
udiskie
|
||||
polkit_gnome
|
||||
swayidle
|
||||
sway-audio-idle-inhibit
|
||||
swaylock-effects
|
||||
sway-contrib.grimshot
|
||||
glfw-wayland-minecraft
|
||||
waybar
|
||||
wl-clipboard
|
||||
xorg.xrandr
|
||||
] else []
|
||||
)
|
||||
++ (
|
||||
if config.module.x11.enable
|
||||
then [
|
||||
xterm
|
||||
rofi
|
||||
xorg.xrandr
|
||||
] else []
|
||||
)
|
||||
++ (
|
||||
if config.module.programming.enable
|
||||
then [
|
||||
inputs.nixvim.packages.${pkgs.system}.default
|
||||
lua
|
||||
libgcc
|
||||
php83
|
||||
php83Packages.composer
|
||||
python3
|
||||
serverless
|
||||
jwt-cli
|
||||
jq
|
||||
ddev
|
||||
cloc
|
||||
ansible
|
||||
] else []
|
||||
)
|
||||
++ (
|
||||
if config.module.hacking.enable
|
||||
then [
|
||||
metasploit
|
||||
exploitdb
|
||||
ghidra
|
||||
wireshark
|
||||
termshark
|
||||
nmap
|
||||
hashcat
|
||||
dirstalk
|
||||
rtl-sdr
|
||||
] else []
|
||||
)
|
||||
++ (
|
||||
if config.module.mudding.enable
|
||||
then [
|
||||
mudlet
|
||||
] else []
|
||||
)
|
||||
++ (
|
||||
if config.module.appdevel.enable
|
||||
then [
|
||||
flutter
|
||||
waydroid
|
||||
ungoogled-chromium
|
||||
android-studio-full
|
||||
] else []
|
||||
)
|
||||
++ (
|
||||
if config.module.gaming.enable
|
||||
then [
|
||||
steam
|
||||
protonup-qt
|
||||
steamtinkerlaunch
|
||||
prismlauncher
|
||||
mudlet
|
||||
widelands
|
||||
wesnoth
|
||||
gamescope
|
||||
gamemode
|
||||
r2modman
|
||||
] else []
|
||||
)
|
||||
++ (
|
||||
if config.module.vr.enable
|
||||
then [
|
||||
alvr
|
||||
wlx-overlay-s
|
||||
immersed
|
||||
] else []
|
||||
);
|
||||
# Utilities
|
||||
taskwarrior3
|
||||
neofetch
|
||||
gimp
|
||||
pulseaudio-ctl
|
||||
playerctl
|
||||
brightnessctl
|
||||
]
|
||||
else []
|
||||
)
|
||||
++ (
|
||||
if config.module.wayland.enable
|
||||
then [
|
||||
foot
|
||||
wofi
|
||||
swaynotificationcenter
|
||||
udiskie
|
||||
polkit_gnome
|
||||
swayidle
|
||||
sway-audio-idle-inhibit
|
||||
swaylock-effects
|
||||
sway-contrib.grimshot
|
||||
glfw-wayland-minecraft
|
||||
waybar
|
||||
wl-clipboard
|
||||
xorg.xrandr
|
||||
]
|
||||
else []
|
||||
)
|
||||
++ (
|
||||
if config.module.x11.enable
|
||||
then [
|
||||
xterm
|
||||
rofi
|
||||
xorg.xrandr
|
||||
]
|
||||
else []
|
||||
)
|
||||
++ (
|
||||
if config.module.programming.enable
|
||||
then [
|
||||
inputs.nixvim.packages.${pkgs.system}.default
|
||||
lua
|
||||
libgcc
|
||||
php83
|
||||
php83Packages.composer
|
||||
python3
|
||||
serverless
|
||||
jwt-cli
|
||||
jq
|
||||
ddev
|
||||
cloc
|
||||
ansible
|
||||
]
|
||||
else []
|
||||
)
|
||||
++ (
|
||||
if config.module.hacking.enable
|
||||
then [
|
||||
metasploit
|
||||
exploitdb
|
||||
ghidra
|
||||
wireshark
|
||||
termshark
|
||||
nmap
|
||||
hashcat
|
||||
dirstalk
|
||||
rtl-sdr
|
||||
]
|
||||
else []
|
||||
)
|
||||
++ (
|
||||
if config.module.mudding.enable
|
||||
then [
|
||||
mudlet
|
||||
]
|
||||
else []
|
||||
)
|
||||
++ (
|
||||
if config.module.appdevel.enable
|
||||
then [
|
||||
flutter
|
||||
waydroid
|
||||
ungoogled-chromium
|
||||
android-studio-full
|
||||
]
|
||||
else []
|
||||
)
|
||||
++ (
|
||||
if config.module.gaming.enable
|
||||
then [
|
||||
steam
|
||||
protonup-qt
|
||||
steamtinkerlaunch
|
||||
prismlauncher
|
||||
mudlet
|
||||
widelands
|
||||
wesnoth
|
||||
gamescope
|
||||
gamemode
|
||||
r2modman
|
||||
]
|
||||
else []
|
||||
)
|
||||
++ (
|
||||
if config.module.vr.enable
|
||||
then [
|
||||
alvr
|
||||
wlx-overlay-s
|
||||
immersed
|
||||
]
|
||||
else []
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,9 @@
|
|||
{lib, config, ...}: {
|
||||
imports = [
|
||||
./user.nix
|
||||
];
|
||||
{
|
||||
lib,
|
||||
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 = {
|
||||
username = "crow";
|
||||
homeDirectory = "/home/crow";
|
||||
stateVersion = "24.05";
|
||||
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 = {
|
||||
username = "crow";
|
||||
homeDirectory = "/home/crow";
|
||||
stateVersion = "24.05";
|
||||
|
||||
# Tools
|
||||
file.".config/tmux/tmux.conf".source = ./configs/tmux/tmux.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;
|
||||
# Tools
|
||||
file.".config/tmux/tmux.conf".source = ./configs/tmux/tmux.conf;
|
||||
file.".config/git/config".source = ./configs/git/git.conf;
|
||||
|
||||
# i3
|
||||
file.".config/i3/config".source = ./configs/i3/i3.conf;
|
||||
file."/home/crow/.xinitrc".source = ./configs/x11/xinitrc;
|
||||
};
|
||||
# Hyprland
|
||||
file.".config/hypr/hyprland.conf".source = ./configs/hypr/hyprland.conf;
|
||||
file.".config/hypr/monitors.conf".source = lib.mkIf (hyprMonitorConfig != null) hyprMonitorConfig;
|
||||
|
||||
xdg = {
|
||||
configHome = "/home/crow/.config";
|
||||
enable = true;
|
||||
};
|
||||
|
||||
programs = {
|
||||
firefox = {
|
||||
enable = true;
|
||||
policies = {
|
||||
BlockAboutConfig = true;
|
||||
DisableFirefoxStudies = true;
|
||||
DisableFormHistory = true;
|
||||
DisablePasswordReveal = true;
|
||||
DisablePocket = true;
|
||||
DisableProfileImport = true;
|
||||
DontCheckDefaultBrowser = true;
|
||||
EnableTrackingProtection = {
|
||||
Value = true;
|
||||
Locked = true;
|
||||
Cryptomining = true;
|
||||
Fingerprinting = true;
|
||||
};
|
||||
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";
|
||||
};
|
||||
};
|
||||
};
|
||||
# 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
|
||||
file.".config/i3/config".source = ./configs/i3/i3.conf;
|
||||
file."/home/crow/.xinitrc".source = ./configs/x11/xinitrc;
|
||||
};
|
||||
|
||||
xdg = {
|
||||
configHome = "/home/crow/.config";
|
||||
enable = true;
|
||||
};
|
||||
|
||||
programs = {
|
||||
firefox = {
|
||||
enable = true;
|
||||
policies = {
|
||||
BlockAboutConfig = true;
|
||||
DisableFirefoxStudies = true;
|
||||
DisableFormHistory = true;
|
||||
DisablePasswordReveal = true;
|
||||
DisablePocket = true;
|
||||
DisableProfileImport = true;
|
||||
DontCheckDefaultBrowser = true;
|
||||
EnableTrackingProtection = {
|
||||
Value = true;
|
||||
Locked = true;
|
||||
Cryptomining = true;
|
||||
Fingerprinting = true;
|
||||
};
|
||||
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 {
|
||||
isNormalUser = true;
|
||||
initialPassword = "changeme";
|
||||
extraGroups = [ "wheel" "networkmanager" "audio" "plugdev" ];
|
||||
};
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
config.users.users.crow = lib.mkIf config.user.crow.enable {
|
||||
isNormalUser = true;
|
||||
initialPassword = "changeme";
|
||||
extraGroups = ["wheel" "networkmanager" "audio" "plugdev"];
|
||||
};
|
||||
|
||||
config.systemd.services.note_sync = {
|
||||
enable = true;
|
||||
description = "Auto sync notes to remote";
|
||||
serviceConfig = {
|
||||
User = "crow";
|
||||
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";
|
||||
config.systemd.services.note_sync = {
|
||||
enable = true;
|
||||
description = "Auto sync notes to remote";
|
||||
serviceConfig = {
|
||||
User = "crow";
|
||||
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";
|
||||
};
|
||||
|
||||
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, ...}: {
|
||||
imports = [
|
||||
./crow
|
||||
./overseer
|
||||
];
|
||||
imports = [
|
||||
./crow
|
||||
./overseer
|
||||
];
|
||||
|
||||
config.home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
backupFileExtension = "backup";
|
||||
};
|
||||
config.home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
backupFileExtension = "backup";
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,10 @@
|
|||
{lib, config, ...}: {
|
||||
imports = [
|
||||
./user.nix
|
||||
./podman.nix
|
||||
];
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./user.nix
|
||||
./podman.nix
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,11 @@
|
|||
{ lib, config, ...}: {
|
||||
|
||||
# virtualisation.oci-containers = {
|
||||
# backend = "podman";
|
||||
# containers = {
|
||||
# containers.grimoire = {
|
||||
#
|
||||
|
||||
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
# virtualisation.oci-containers = {
|
||||
# backend = "podman";
|
||||
# containers = {
|
||||
# containers.grimoire = {
|
||||
#
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,11 @@
|
|||
{ lib, config, ...}: {
|
||||
config.users.users.overseer = lib.mkIf config.user.overseer.enable {
|
||||
isNormalUser = true;
|
||||
initialPassword = "changeme";
|
||||
extraGroups = [ "wheel" "libvirtd" ];
|
||||
};
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
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