diff options
Diffstat (limited to 'hosts/sofue')
| -rw-r--r-- | hosts/sofue/configuration.nix | 221 | ||||
| -rw-r--r-- | hosts/sofue/gccarch_mesa.nix | 10 | ||||
| -rw-r--r-- | hosts/sofue/programs.nix | 24 |
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 + ]; +} |