diff --git a/machines/AMD-Workstation/default.nix b/machines/AMD-Workstation/default.nix
index 999b9af..ded5283 100644
--- a/machines/AMD-Workstation/default.nix
+++ b/machines/AMD-Workstation/default.nix
@@ -1,4 +1,4 @@
-{ inputs, lib, ... }: {
+{ inputs, lib, pkgs, ... }: {
imports = [
./hardware-configuration.nix
inputs.self.nixosRoles.workstation
diff --git a/machines/Wayland-VM/default.nix b/machines/Wayland-VM/default.nix
index e3431c3..6ac1804 100644
--- a/machines/Wayland-VM/default.nix
+++ b/machines/Wayland-VM/default.nix
@@ -1,11 +1,12 @@
{ modulesPath, inputs, lib, pkgs, ... }: {
- imports = with inputs.self.nixosModules; with inputs.self.nixosProfiles; [
+ imports = [
# ./hardware-configuration.nix
"${modulesPath}/profiles/qemu-guest.nix"
"${modulesPath}/profiles/minimal.nix"
./system-path.nix
+ ./qemu-vm.nix
];
- disabledModules = ["config/system-path.nix"];
+ disabledModules = [ "config/system-path.nix" ];
options = {
device = lib.mkOption { type = lib.types.str; };
@@ -23,14 +24,14 @@
kernelParams = [
"zswap.enabled=0" "quiet" "scsi_mod.use_blk_mq=1" "modeset" "nofb"
- "rd.systemd.show_status=auto"
- "rd.udev.log_priority=3"
"pti=off"
"spectre_v2=off"
"kvm.ignore_msrs=1"
];
};
+ hardware.opengl.enable = true;
+
zramSwap = {
enable = true;
algorithm = "zstd";
@@ -39,88 +40,71 @@
};
networking.firewall.enable = false;
+ networking.wireless.enable = false;
+ networking.networkmanager.enable = false;
+ networking.hostName = "Wayland-VM";
users.mutableUsers = false;
users.users.alukard = {
isNormalUser = true;
- extraGroups = [ "wheel" ];
+ extraGroups = [ "wheel" "video" "input" ];
uid = 1000;
- hashedPassword = "$6$kDBGyd99tto$9LjQwixa7NYB9Kaey002MD94zHob1MmNbVz9kx3yX6Q4AmVgsFMGUyNuHozXprxyuXHIbOlTcf8nd4rK8MWfI/";
+ hashedPassword = "$6$6n2Grnv11bvhOj8S$cFkS4P/8K5qOgjDRfhvwbWLogcCg0AAQRA4FjzmgthIeKohORtQYif5XvprE7mJfbApo6fbMr0o3ld8pViWx3.";
};
- nix = rec {
+ nix = {
nixPath = lib.mkForce [ "self=/etc/self/compat" "nixpkgs=/etc/nixpkgs" ];
-
registry.self.flake = inputs.self;
registry.nixpkgs.flake = inputs.nixpkgs;
-
optimise.automatic = true;
-
extraOptions = ''
experimental-features = nix-command flakes
'';
-
- settings = {
- auto-optimise-store = false;
- };
+ settings.auto-optimise-store = false;
};
environment.etc.nixpkgs.source = inputs.nixpkgs;
environment.etc.self.source = inputs.self;
- environment.systemPackages = [ pkgs.nano pkgs.kitty pkgs.labwc ];
+ environment.systemPackages = [
+ pkgs.labwc.overrideAttrs (old: {
+ mesonFlags = [ "-Dxwayland=disabled" ];
+ })
+ pkgs.nano
+ pkgs.foot
+ pkgs.gnused
+ pkgs.ncftp
+ ];
+
+ environment.sessionVariables = {
+ LIBSEAT_BACKEND = "logind";
+ };
+
+ i18n.defaultLocale = "en_GB.UTF-8";
+ console.font = "cyr-sun16";
+ console.keyMap = "ruwin_cplk-UTF-8";
+
+ fonts = {
+ fonts = [ pkgs.ibm-plex ];
+ fontconfig = {
+ enable = true;
+ defaultFonts = {
+ monospace = [ "IBM Plex Mono 12" ];
+ sansSerif = [ "IBM Plex Sans 12" ];
+ serif = [ "IBM Plex Serif 12" ];
+ };
+ };
+ enableDefaultFonts = false;
+ };
+
environment.noXlibs = lib.mkForce false;
security.polkit.enable = true;
- # nixpkgs.overlays = [(self: super: {
- # labwc = super.labwc.overrideAttrs (old: {
- # buildInputs = [ pkgs.libGL ] ++ old.buildInputs;
- # mesonFlags = [ "-Dxwayland=disabled" ];
- # });
- # libdecor = super.libdecor.overrideAttrs (old: {
- # buildInputs = [ pkgs.libGL ] ++ old.buildInputs;
- # });
- # })];
-
system.stateVersion = "22.11";
services.getty.autologinUser = "alukard";
- # environment.loginShellInit = lib.mkAfter ''
- # [[ "$(tty)" == /dev/tty1 ]] && {
- # exec labwc
- # }
- # '';
-
- system.userActivationScripts.linktosharedfolder.text = let
- environment = pkgs.writeText "environment" ''
- XDG_CURRENT_DESKTOP=wlroots
- XKB_DEFAULT_LAYOUT=us,ru
- XKB_DEFAULT_OPTIONS=grp:win_space_toggle
- _JAVA_AWT_WM_NONREPARENTING=1
- '';
- menu-xml = pkgs.writeText "menu.xml" ''
-
-
-
-
- '';
- in ''
- if [[ -h "$HOME/.config/labwc/environment" ]]; then
- rm -f "$HOME/.config/labwc/environment"
- fi
- if [[ -h "$HOME/.config/labwc/menu.xml" ]]; then
- rm -f "$HOME/.config/labwc/menu.xml"
- fi
- ln -s "${environment}" "$HOME/.config/labwc/environment"
- ln -s "${menu-xml}" "$HOME/.config/labwc/menu.xml"
- '';
-
environment.etc."gbinder.d/waydroid.conf".source = let
waydroidGbinderConf = pkgs.writeText "waydroid.conf" ''
[General]
@@ -128,6 +112,150 @@
'';
in lib.mkForce waydroidGbinderConf;
virtualisation.waydroid.enable = true;
- # virtualisation.lxd.enable = true;
+
+ environment.loginShellInit = lib.mkAfter ''
+ [[ "$(tty)" == /dev/tty1 ]] && {
+ labwc -s foot
+ }
+ '';
+
+ system.userActivationScripts.linktosharedfolder.text = let
+ foot = pkgs.writeText "foot.ini" ''
+ font=IBM Plex Mono:size=12
+ '';
+ in ''
+ if [[ ! -d "$HOME/.config/foot" ]]; then
+ mkdir -p $HOME/.config/foot
+ fi
+ if [[ -h "$HOME/.config/foot/foot.ini" ]]; then
+ rm -f "$HOME/.config/foot/foot.ini"
+ fi
+ ln -s "${foot}" "$HOME/.config/foot/foot.ini"
+ '';
+
+ environment.etc."xdg/labwc/environment".text = ''
+ XDG_CURRENT_DESKTOP=wlroots
+ XKB_DEFAULT_LAYOUT=us,ru
+ XKB_DEFAULT_OPTIONS=grp:win_space_toggle
+ '';
+
+ environment.etc."xdg/labwc/menu.xml".text = ''
+
+
+
+
+
+
+
+
+
+ '';
+
+ environment.etc."xdg/labwc/rc.xml".text = ''
+
+
+
+
+
+ 10
+
+
+
+
+ 2
+ IBM Plex Sans10
+
+
+
+
+
+ foot
+
+
+
+
+ '';
+
+ environment.etc."xdg/labwc/themerc".text = ''
+ # Decorator
+ window.active.title.bg.color: #2f343f
+ window.inactive.title.bg.color: #2f343f
+ window.*.label.text.color: #d8dee8
+ window.*.button.*.image.color: #d8dee8
+
+ # Borders
+ window.handle.width: 0
+ window.client.padding.width: 0
+ border.width: 0
+
+ # Title
+ padding.width: 10
+ padding.height: 8
+ window.*.title.bg: Solid Flat
+ window.*.*.bg: Parentrelative
+ window.label.text.justify: center
+
+ # Menu
+ menu.border.width: 6
+ menu.separator.width: 2
+ menu.separator.padding.width: 10
+ menu.separator.padding.height: 2
+ menu.overlap.x: -8
+ menu.*.bg: flat solid
+ menu.*.bg.color: #2f343f
+ menu.*.color: #2f343f
+ menu.title.text.color: #ffffff
+ menu.items.text.color: #d8dee8
+ menu.items.active.disabled.text.color: #707070
+ menu.items.active.text.color: #d8dee8
+ menu.title.text.justify: center
+ menu.items.active.bg.color: #5294e2
+
+ # OSD
+ osd.border.width: 1
+ osd.border.color: #2f343f
+ osd.bg: flat solid
+ osd.bg.color: #2f343f
+ osd.label.bg: flat solid
+ osd.label.bg.color: #2f343f
+ osd.hilight.bg: flat solid
+ osd.hilight.bg.color: #ef6b7b
+
+ # Colour Trick
+ window.active.button.close.unpressed.image.color: #ef6b7b
+ window.inactive.button.close.unpressed.image.color: #bf616a
+ '';
};
}
diff --git a/machines/Wayland-VM/qemu-vm.nix b/machines/Wayland-VM/qemu-vm.nix
new file mode 100644
index 0000000..d0d2b08
--- /dev/null
+++ b/machines/Wayland-VM/qemu-vm.nix
@@ -0,0 +1,11 @@
+{ modulesPath, ... }: {
+ imports = [
+ "${modulesPath}/virtualisation/qemu-vm.nix"
+ ];
+ virtualisation = {
+ qemu.options = ["-vga none" "-device virtio-vga-gl" "-display gtk,gl=on"];
+ cores = 4;
+ memorySize = 4096;
+ diskSize = 20480;
+ };
+}
\ No newline at end of file