summaryrefslogtreecommitdiff
path: root/hosts/sofue
diff options
context:
space:
mode:
Diffstat (limited to 'hosts/sofue')
-rw-r--r--hosts/sofue/configuration.nix221
-rw-r--r--hosts/sofue/gccarch_mesa.nix10
-rw-r--r--hosts/sofue/programs.nix24
3 files changed, 255 insertions, 0 deletions
diff --git a/hosts/sofue/configuration.nix b/hosts/sofue/configuration.nix
new file mode 100644
index 0000000..68f5feb
--- /dev/null
+++ b/hosts/sofue/configuration.nix
@@ -0,0 +1,221 @@
+{ config, lib, pkgs, modulesPath, ... }:
+let
+ s = config.local;
+ inherit (import ../../nix/utils.nix) disks;
+in rec {
+ imports = [
+ "${modulesPath}/virtualisation/lxc-container.nix"
+ ../../nix/system.nix
+ ../../nix/user.nix
+ ../../nix/scripts.nix
+ ../../nix/audio.nix
+ ../../nix/bluetooth.nix
+ ../../nix/email.nix
+ ../../nix/gaming.nix
+ ../../nix/amdgpu.nix
+ ../../nix/mesa_git.nix
+ ../../nix/programs/zsh.nix
+ ../../nix/programs/nvim.nix
+ ../../nix/programs/sway.nix
+ ../../nix/programs/kitty.nix
+ ../../nix/programs/firefox.nix
+ ../../nix/programs/obs.nix
+ ../../nix/programs/waydroid.nix
+ ../../nix/programs/kdeconnect.nix
+ ./programs.nix
+ ];
+
+ local = rec {
+ font = {
+ name = "NanumGothicCoding";
+ size = 15;
+ baseline = 0;
+ };
+ ui-font = {
+ name = "M+ 2p";
+ size = 11;
+ baseline = 0;
+ };
+ emoji-font = {
+ name = "Blobmoji";
+ size = ui-font.size;
+ baseline = 0;
+ };
+ scheme = import ../../themes/dva_halloween/dva.nix;
+ starter = {
+ picture = ../../themes/dva_halloween/splash1.png;
+ width = 41;
+ padding = {
+ top = -5;
+ left = -9;
+ text = 0;
+ };
+ position = "left";
+ footer = "";
+ footer_offset = 0;
+ };
+ monitors = {
+ monitor1 = "DP-1";
+ monitor2 = "HDMI-A-1";
+ monitor3 = "HDMI-A-3";
+ };
+ };
+
+ boot.isContainer = true;
+
+ nix.settings.system-features = [ "gccarch-znver2" ];
+# nixpkgs.hostPlatform = {
+# gcc.arch = "znver2";
+# gcc.tune = "znver2";
+# system = "x86_64-linux";
+# };
+
+ networking = {
+ hostName = "sofue";
+ dhcpcd.enable = false;
+ useDHCP = false;
+ useHostResolvConf = false;
+ wireless.enable = false;
+ firewall.enable = false;
+ extraHosts = ''
+ 192.168.1.192 iroha
+ 192.168.1.206 moyo
+ 192.168.1.207 denpa
+ 192.168.1.234 zasshi
+ 66.135.26.42 rod
+ 108.52.160.112 boomerang
+ '';
+ };
+ systemd.network = {
+ enable = true;
+ networks."50-eth0" = {
+ matchConfig.Name = "eth0";
+ networkConfig = {
+ DHCP = "ipv4";
+ IPv6AcceptRA = true;
+ };
+ linkConfig.RequiredForOnline = "routable";
+ };
+ };
+
+ fileSystems."/media/cdrom" = {
+ device = "/dev/sr0";
+ fsType = "udf,iso9660";
+ options = disks.cdrom_options;
+ };
+
+ environment.systemPackages = with pkgs; [
+ linuxPackages_latest.perf
+ linuxPackages_latest.cpupower
+ (pkgs.writeShellScriptBin "run-sway" ''
+ export TTY=/dev/tty3
+ export XDG_VTNR=3
+ export WLR_RENDERER=vulkan
+ export WLR_DRM_DEVICES=/dev/dri/card0
+ cd $HOME
+ exec ${pkgs.kbd}/bin/openvt --switch --login --console 3 -f -- ${pkgs.sway}/bin/sway
+ '')
+ ];
+
+ systemd.services.copy-udev = {
+ description = "Copy host udev data to container";
+ after = [ "multi-user.target" "rc-local.service" "systemd-user-sessions.service" ];
+ wantedBy = [ "multi-user.target" ];
+ serviceConfig = {
+ Type = "oneshot";
+ ExecStart = "/bin/sh -c '${pkgs.coreutils}/bin/cp /tmp/udev/data/* /run/udev/data/'";
+ RemainAfterExit = true;
+ };
+ };
+
+ home-manager.users.andrew = let
+ homeDir = "${config.users.users.andrew.home}";
+ in {
+ programs.kitty = {
+ extraConfig = ''
+ repaint_delay 5
+ input_delay 2
+ '';
+ };
+ wayland.windowManager.sway = {
+ checkConfig = false;
+ config = {
+ output = {
+ "${s.monitors.monitor1}" = {
+ mode = "2560x1440@144.000Hz";
+# position = "3000 200";
+ position = "1080 200";
+ allow_tearing = "yes";
+ max_render_time = "off";
+ adaptive_sync = "on";
+ render_bit_depth = "10";
+ bg = "#${s.scheme.background-alt} solid_color";
+ };
+ "${s.monitors.monitor2}" = {
+ mode = "1920x1080@60.000Hz";
+ transform = "270";
+# position = "1920 0";
+ position = "0 0";
+ max_render_time = "6";
+ render_bit_depth = "10";
+ bg = "#${s.scheme.background-alt} solid_color";
+ };
+# "${s.monitors.monitor3}" = {
+# mode = "1920x1080@60.000Hz";
+# position = "0 1000";
+# max_render_time = "6";
+# render_bit_depth = "10";
+# bg = "#${s.scheme.background-alt} solid_color";
+# };
+ };
+ workspaceOutputAssign = [
+ { workspace = "1"; output = "${s.monitors.monitor1}"; }
+ { workspace = "2"; output = "${s.monitors.monitor1}"; }
+ { workspace = "3"; output = "${s.monitors.monitor1}"; }
+ { workspace = "4"; output = "${s.monitors.monitor1}"; }
+ { workspace = "5"; output = "${s.monitors.monitor2}"; }
+ { workspace = "6"; output = "${s.monitors.monitor2}"; }
+ { workspace = "7"; output = "${s.monitors.monitor2}"; }
+ { workspace = "8"; output = "${s.monitors.monitor2}"; }
+ { workspace = "9"; output = "${s.monitors.monitor3}"; }
+ ];
+ keybindings = let
+ mod1 = "Mod1";
+ mod4 = "Mod4";
+ in {
+ "${mod1}+1" = "workspace 1";
+ "${mod1}+2" = "workspace 2";
+ "${mod1}+3" = "workspace 3";
+ "${mod1}+4" = "workspace 4";
+ "${mod4}+1" = "workspace 5";
+ "${mod4}+2" = "workspace 6";
+ "${mod4}+3" = "workspace 7";
+ "${mod4}+4" = "workspace 8";
+ "${mod4}+5" = "workspace 9";
+ "${mod4}+z" = "fullscreen toggle";
+ "${mod1}+Shift+1" = "move container to workspace 1";
+ "${mod1}+Shift+2" = "move container to workspace 2";
+ "${mod1}+Shift+3" = "move container to workspace 3";
+ "${mod1}+Shift+4" = "move container to workspace 4";
+ "${mod4}+Shift+1" = "move container to workspace 5";
+ "${mod4}+Shift+2" = "move container to workspace 6";
+ "${mod4}+Shift+3" = "move container to workspace 7";
+ "${mod4}+Shift+4" = "move container to workspace 8";
+ "${mod4}+Shift+5" = "move container to workspace 9";
+ "${mod4}+r" = "exec swaymsg -- output ${s.monitors.monitor1} transform 90";
+ "${mod4}+Shift+r" = "exec swaymsg -- output ${s.monitors.monitor1} transform 0";
+ "${mod4}+F1" = "exec printf '||' > $HOME/.config/taro/${s.monitors.monitor1}/selection";
+ "${mod4}+F2" = "exec printf '__d_va_overwatch_d||' > $HOME/.config/taro/${s.monitors.monitor1}/selection";
+ "Pause" = "exec $HOME/c/camu/scripts/cmv_add.sh PAUSE";
+ };
+ startup = [
+ { command = "${pkgs.mauri}/bin/tarod"; }
+ ];
+ };
+ };
+
+ home.stateVersion = "${config.system.stateVersion}";
+ };
+
+ system.stateVersion = "24.11";
+}
diff --git a/hosts/sofue/gccarch_mesa.nix b/hosts/sofue/gccarch_mesa.nix
new file mode 100644
index 0000000..e06bdd5
--- /dev/null
+++ b/hosts/sofue/gccarch_mesa.nix
@@ -0,0 +1,10 @@
+let
+ pkgs = import <nixpkgs> {
+ localSystem = {
+ gcc.arch = "znver2";
+ gcc.tune = "znver2";
+ system = "x86_64-linux";
+ };
+ };
+in
+ pkgs.mesa
diff --git a/hosts/sofue/programs.nix b/hosts/sofue/programs.nix
new file mode 100644
index 0000000..6435b02
--- /dev/null
+++ b/hosts/sofue/programs.nix
@@ -0,0 +1,24 @@
+{ pkgs, ... }: {
+ environment.systemPackages = with pkgs; [
+ cdrtools
+ #ardour
+ audacity
+ krita
+ #olive-editor
+ yt-dlp
+ chatterino2
+ streamlink
+ megatools
+ wineWowPackages.staging
+ winetricks
+ cabextract
+ (pkgs.discord.override { withOpenASAR = true; })
+ imv
+ mpv
+ gftp
+ qbittorrent
+ #ungoogled-chromium
+ #dia
+ mauri
+ ];
+}