feat: cruiser configuration (live usb)

This commit is contained in:
Gustavo "Guz" L. de Mello
2024-04-22 09:34:14 -03:00
parent 0884a455cd
commit 3a66ff0d43
5 changed files with 237 additions and 0 deletions

View File

@@ -74,6 +74,7 @@
in {
nixosConfigurations = create-host [
"battleship"
"cruiser"
"spacestation"
];
};

View File

@@ -0,0 +1,106 @@
{
config,
pkgs,
modulesPath,
...
}: {
imports = [
"${modulesPath}/installer/cd-dvd/installation-cd-minimal.nix"
../../modules/nixos
];
profiles.locale.enable = true;
programs.hyprland.enable = true;
services.xserver = {
enable = true;
displayManager = {
sddm.enable = true;
};
};
programs.gnupg.agent = {
enable = true;
pinentryPackage = pkgs.pinentry-gnome3;
settings = {
default-cache-ttl = 3600 * 24;
};
};
services.tailscale = {
enable = true;
};
fonts.fontconfig.enable = true;
fonts.packages = with pkgs; [
fira-code
(nerdfonts.override {fonts = ["FiraCode"];})
];
home-manager-helper.enable = true;
home-manager-helper.users."guz" = {
name = "guz";
shell = pkgs.zsh;
initialPassword = "0000";
home = import ./home.nix;
isNormalUser = true;
extraGroups = ["wheel" "networkmanager"];
};
environment.sessionVariables = {
EDITOR = "nvim";
};
environment.systemPackages = with pkgs; [
git
];
services.interception-tools = let
device = "/dev/input/by-id/usb-BY_Tech_Gaming_Keyboard-event-kbd";
in {
enable = true;
plugins = [pkgs.interception-tools-plugins.caps2esc];
udevmonConfig = ''
- JOB: "${pkgs.interception-tools}/bin/intercept -g ${device} | ${pkgs.interception-tools-plugins.caps2esc}/bin/caps2esc -m 2 | ${pkgs.interception-tools}/bin/uinput -d ${device}"
DEVICE:
EVENTS:
EV_KEY: [[KEY_CAPSLOCK, KEY_ESC]]
LINK: ${device}
'';
};
environment.pathsToLink = [" /share/zsh "];
programs.zsh.enable = true;
nix.settings.experimental-features = ["nix-command" "flakes"];
nix.package = pkgs.nixVersions.nix_2_21;
programs.nix-ld.enable = true;
programs.nix-ld.libraries = with pkgs; [];
networking = {
hostName = "cruiser";
};
sound.enable = true;
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
wireplumber.enable = true;
#jack.enable = true;
};
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
nixpkgs.hostPlatform = "x86_64-linux";
}

48
hosts/cruiser/desktop.nix Normal file
View File

@@ -0,0 +1,48 @@
{
config,
pkgs,
lib,
...
}: let
wallpaper = ../../static/guz-wallpaper-default.png;
desktop-boot = pkgs.writeShellScriptBin "desktop-boot" ''
function eww() { ${config.programs.eww.package}/bin/eww "$@"; }
function swww() { ${pkgs.swww}/bin/swww "$@"; }
function swww-daemon() { ${pkgs.swww}/bin/swww-daemon "$@"; }
if [[ "$(eww ping)" -ne "pong" ]]; then
eww daemon &> /dev/null
fi
eww close-all
eww open bar
eww open bar-2
eww reload
(swww-daemon &> /dev/null) & swww img "${/. + wallpaper}"
'';
in
with lib; {
imports = [
../battleship/desktop
];
programs.hyprland.settings.exec = mkForce [
"${desktop-boot}/bin/desktop-boot"
"dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
];
programs.hyprland.settings.monitor = mkForce [
"DEFAULT,preferred,auto,1"
];
programs.hyprland.settings.workspace = let
monitor-1 = "DEFAULT";
in
mkForce
[
"1,monitor:${monitor-1},default:true"
"2,monitor:${monitor-1}"
"3,monitor:${monitor-1}"
"4,monitor:${monitor-1}"
"5,monitor:${monitor-1}"
];
}

29
hosts/cruiser/home.nix Normal file
View File

@@ -0,0 +1,29 @@
{...}: {
imports = [
../../modules/home-manager
./packages.nix
./desktop.nix
../../modules/home-manager/programs-old/librewolf
];
profiles.gterminal.enable = true;
programs.bash = {
enable = true;
initExtra = ''
export XDG_DATA_DIRS="$XDG_DATA_DIRS:/usr/share:/var/lib/flatpak/exports/share:$HOME/.local/share/flatpak/exports/share"
export GPG_TTY=$(tty)
'';
};
services.gnome-keyring.enable = true;
programs.prismlauncher.enable = true;
fonts.fontconfig.enable = true;
home.sessionVariables = {
EDITOR = "nvim";
};
}

View File

@@ -0,0 +1,53 @@
{
config,
pkgs,
inputs,
lib,
...
}: {
imports = [];
librewolf = {
enable = true;
profiles = {
guz = {
id = 0;
settings = {
"webgl.disabled" = false;
"browser.startup.homepage" = "https://search.brave.com";
"privacy.clearOnShutdown.history" = false;
"privacy.clearOnShutdown.downloads" = false;
"extensions.activeThemeID" = "firefox-compact-dark@mozilla.org";
"privacy.clearOnShutdown.cookies" = false;
};
extensions = with inputs.firefox-addons.packages."x86_64-linux"; [
darkreader
canvasblocker
smart-referer
libredirect
tridactyl
];
};
};
};
programs.obsidian.enable = true;
programs.obsidian.vaultCmd = true;
programs.obsidian.vaultDir = "${config.home.homeDirectory}/.vault";
programs.krita.enable = true;
nixpkgs.config.allowUnfree = true;
nixpkgs.config.allowUnfreePredicate = _: true;
home.packages = with pkgs; [
## Programs
webcord-vencord
pavucontrol
pinentry
gnome.nautilus
## Fonts
fira-code
(nerdfonts.override {fonts = ["FiraCode"];})
];
}