mirror of
https://github.com/Theaninova/TheaninovOS.git
synced 2025-12-11 02:56:27 +00:00
update system
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,2 +1,3 @@
|
|||||||
result
|
result
|
||||||
deploy-luci.sh
|
deploy-luci.sh
|
||||||
|
deploy-luci-now.sh
|
||||||
|
|||||||
293
changes.patch
293
changes.patch
@@ -1,293 +0,0 @@
|
|||||||
diff --git a/flake.nix b/flake.nix
|
|
||||||
index 95415a8..dfc359c 100644
|
|
||||||
--- a/flake.nix
|
|
||||||
+++ b/flake.nix
|
|
||||||
@@ -140,6 +140,11 @@
|
|
||||||
username = "theaninova";
|
|
||||||
system = "x86_64-linux";
|
|
||||||
};
|
|
||||||
+ shark = mkHost {
|
|
||||||
+ hostname = "shark";
|
|
||||||
+ username = "luci";
|
|
||||||
+ system = "x86_64-linux";
|
|
||||||
+ };
|
|
||||||
};
|
|
||||||
|
|
||||||
nixosModules.theaninovos = import ./modules/nixos;
|
|
||||||
diff --git a/hosts/shark/default.nix b/hosts/shark/default.nix
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..efec798
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/hosts/shark/default.nix
|
|
||||||
@@ -0,0 +1,164 @@
|
|
||||||
+{
|
|
||||||
+ pkgs,
|
|
||||||
+ lib,
|
|
||||||
+ username,
|
|
||||||
+ ...
|
|
||||||
+}:
|
|
||||||
+{
|
|
||||||
+ imports = [ ./hardware-configuration.nix ];
|
|
||||||
+
|
|
||||||
+ nix = {
|
|
||||||
+ settings.experimental-features = [
|
|
||||||
+ "nix-command"
|
|
||||||
+ "flakes"
|
|
||||||
+ ];
|
|
||||||
+ gc = {
|
|
||||||
+ automatic = true;
|
|
||||||
+ randomizedDelaySec = "14m";
|
|
||||||
+ options = "--deleteOlderThan 10d";
|
|
||||||
+ };
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
+ boot = {
|
|
||||||
+ quiet.enable = true;
|
|
||||||
+
|
|
||||||
+ kernelPackages = pkgs.linuxPackages_latest;
|
|
||||||
+
|
|
||||||
+ loader = {
|
|
||||||
+ systemd-boot = {
|
|
||||||
+ enable = true;
|
|
||||||
+ configurationLimit = 10;
|
|
||||||
+ };
|
|
||||||
+ efi.canTouchEfiVariables = true;
|
|
||||||
+ };
|
|
||||||
+ initrd = {
|
|
||||||
+ availableKernelModules = [ "tpm_tis" ];
|
|
||||||
+ systemd = {
|
|
||||||
+ enable = true;
|
|
||||||
+ tpm2.enable = true;
|
|
||||||
+ };
|
|
||||||
+ };
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
+ xdg.forced-compliance.enable = true;
|
|
||||||
+
|
|
||||||
+ usecases = {
|
|
||||||
+ gaming.enable = true;
|
|
||||||
+ "3d-printing".enable = true;
|
|
||||||
+ development.enable = true;
|
|
||||||
+ windows-vm.enable = true;
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
+ shell.components = {
|
|
||||||
+ firefox-pip.enable = true;
|
|
||||||
+ gnome-keyring.enable = true;
|
|
||||||
+ grimblast.enable = true;
|
|
||||||
+ hyprpicker.enable = true;
|
|
||||||
+ kde-connect.enable = true;
|
|
||||||
+ kitty.enable = true;
|
|
||||||
+ swaync.enable = true;
|
|
||||||
+ walker.enable = true;
|
|
||||||
+ waybar = {
|
|
||||||
+ enable = true;
|
|
||||||
+ mobile = true;
|
|
||||||
+ };
|
|
||||||
+ };
|
|
||||||
+ desktops = {
|
|
||||||
+ hyprland.enable = true;
|
|
||||||
+ };
|
|
||||||
+ locale.preset.theaninova.enable = true;
|
|
||||||
+
|
|
||||||
+ services.xserver = {
|
|
||||||
+ xkb = {
|
|
||||||
+ #variant = "altgr-intl";
|
|
||||||
+ #layout = "us";
|
|
||||||
+ layout = "de";
|
|
||||||
+ };
|
|
||||||
+ videoDrivers = [ "nvidia" ];
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
+ hardware = {
|
|
||||||
+ q3279vwf.enable = true;
|
|
||||||
+ audio.preset.pipewire.enable = true;
|
|
||||||
+
|
|
||||||
+ nvidia.preset.proprietary.enable = true;
|
|
||||||
+
|
|
||||||
+ enableAllFirmware = true;
|
|
||||||
+ bluetooth = {
|
|
||||||
+ enable = true;
|
|
||||||
+ powerOnBoot = true;
|
|
||||||
+ };
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
+ fonts = {
|
|
||||||
+ fira-code = {
|
|
||||||
+ enable = true;
|
|
||||||
+ default = true;
|
|
||||||
+ };
|
|
||||||
+ noto-sans = {
|
|
||||||
+ enable = true;
|
|
||||||
+ default = true;
|
|
||||||
+ };
|
|
||||||
+ nerd-fonts.enable = true;
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
+ programs.zsh.enable = true;
|
|
||||||
+ security.sudo.configFile = ''
|
|
||||||
+ Defaults env_reset,pwfeedback,passprompt=" "
|
|
||||||
+ '';
|
|
||||||
+ security.tpm2.enable = true;
|
|
||||||
+ users.defaultUserShell = pkgs.zsh;
|
|
||||||
+ users.users.${username} = {
|
|
||||||
+ isNormalUser = true;
|
|
||||||
+ extraGroups = [
|
|
||||||
+ "scanner"
|
|
||||||
+ "lp"
|
|
||||||
+ "storage"
|
|
||||||
+ "networkmanager"
|
|
||||||
+ "audio"
|
|
||||||
+ "video"
|
|
||||||
+ "plugdev"
|
|
||||||
+ "cdrom"
|
|
||||||
+ "kvm"
|
|
||||||
+ ];
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
+ # List packages installed in system profile. To search, run:
|
|
||||||
+ environment.systemPackages = with pkgs; [
|
|
||||||
+ # Essential utils
|
|
||||||
+ usbutils
|
|
||||||
+ usbimager
|
|
||||||
+ uhubctl
|
|
||||||
+ bluetuith
|
|
||||||
+ pciutils
|
|
||||||
+ htop
|
|
||||||
+ unar
|
|
||||||
+ gnupg
|
|
||||||
+ libdrm
|
|
||||||
+ alsa-utils
|
|
||||||
+ graphicsmagick
|
|
||||||
+ ffmpeg
|
|
||||||
+ nfs-utils
|
|
||||||
+ opensc
|
|
||||||
+ openssl
|
|
||||||
+ # secure boot / tmp2
|
|
||||||
+ sbctl
|
|
||||||
+ tpm2-tss
|
|
||||||
+ # Essential command line apps
|
|
||||||
+ neovim
|
|
||||||
+ mc
|
|
||||||
+ git
|
|
||||||
+ p7zip
|
|
||||||
+ fzf
|
|
||||||
+ eza
|
|
||||||
+ ];
|
|
||||||
+
|
|
||||||
+ networking = {
|
|
||||||
+ networkmanager = {
|
|
||||||
+ enable = true;
|
|
||||||
+ plugins = with pkgs; [ networkmanager-openconnect ];
|
|
||||||
+ };
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
+ system.stateVersion = "24.11";
|
|
||||||
+}
|
|
||||||
diff --git a/hosts/shark/hardware-configuration.nix b/hosts/shark/hardware-configuration.nix
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..b848d1c
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/hosts/shark/hardware-configuration.nix
|
|
||||||
@@ -0,0 +1,44 @@
|
|
||||||
+# 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")
|
|
||||||
+ ];
|
|
||||||
+
|
|
||||||
+ boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
|
|
||||||
+ boot.initrd.kernelModules = [ ];
|
|
||||||
+ boot.kernelModules = [ "kvm-intel" ];
|
|
||||||
+ boot.extraModulePackages = [ ];
|
|
||||||
+
|
|
||||||
+ fileSystems."/" =
|
|
||||||
+ { device = "/dev/disk/by-uuid/9e1f4bb4-356b-4674-ba16-0d3f436cd882";
|
|
||||||
+ fsType = "xfs";
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
+ fileSystems."/boot" =
|
|
||||||
+ { device = "/dev/disk/by-uuid/6585-4C3B";
|
|
||||||
+ fsType = "vfat";
|
|
||||||
+ options = [ "fmask=0077" "dmask=0077" ];
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
+ fileSystems."/home" =
|
|
||||||
+ { device = "/dev/disk/by-uuid/fa017457-fef3-4fac-9348-d37d2cd98656";
|
|
||||||
+ fsType = "xfs";
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
+ 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.eno1.useDHCP = lib.mkDefault true;
|
|
||||||
+ # networking.interfaces.wlp4s0.useDHCP = lib.mkDefault true;
|
|
||||||
+
|
|
||||||
+ nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
|
||||||
+ hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
|
||||||
+}
|
|
||||||
diff --git a/hosts/shark/home.nix b/hosts/shark/home.nix
|
|
||||||
new file mode 100755
|
|
||||||
index 0000000..b557825
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/hosts/shark/home.nix
|
|
||||||
@@ -0,0 +1,31 @@
|
|
||||||
+{ pkgs, ... }:
|
|
||||||
+{
|
|
||||||
+ theme.md3-evo = {
|
|
||||||
+ enable = true;
|
|
||||||
+ auto-dark = {
|
|
||||||
+ enable = true;
|
|
||||||
+ lat = 52.52;
|
|
||||||
+ lon = 13.40;
|
|
||||||
+ };
|
|
||||||
+ };
|
|
||||||
+ programs.zoxide.enable = true;
|
|
||||||
+ home = {
|
|
||||||
+ packages = with pkgs; [
|
|
||||||
+ blueman
|
|
||||||
+ kdePackages.okular
|
|
||||||
+ ];
|
|
||||||
+ };
|
|
||||||
+ systemd.user.services = {
|
|
||||||
+ blueman-applet = {
|
|
||||||
+ Unit = {
|
|
||||||
+ Description = "Bluetooth manager applet";
|
|
||||||
+ After = [ "graphical-session.target" ];
|
|
||||||
+ };
|
|
||||||
+ Install.WantedBy = [ "graphical-session.target" ];
|
|
||||||
+ Service = {
|
|
||||||
+ ExecStart = "${pkgs.blueman}/bin/blueman-applet";
|
|
||||||
+ Restart = "always";
|
|
||||||
+ };
|
|
||||||
+ };
|
|
||||||
+ };
|
|
||||||
+}
|
|
||||||
diff --git a/modules/nixos/hardware/q3279vwf.nix b/modules/nixos/hardware/q3279vwf.nix
|
|
||||||
index 2e835e7..4ebeaac 100644
|
|
||||||
--- a/modules/nixos/hardware/q3279vwf.nix
|
|
||||||
+++ b/modules/nixos/hardware/q3279vwf.nix
|
|
||||||
@@ -21,11 +21,11 @@ in
|
|
||||||
home-manager.users.${username}.wayland.windowManager.hyprland.settings = {
|
|
||||||
general.layout = "master";
|
|
||||||
master = {
|
|
||||||
- orientation = "center";
|
|
||||||
- always_center_master = true;
|
|
||||||
- mfact = 0.4;
|
|
||||||
+ orientation = "right";
|
|
||||||
+ mfact = 0.65;
|
|
||||||
+ always_keep_position = true;
|
|
||||||
};
|
|
||||||
- monitor = [ "DP-1,highrr,0x0,1" ];
|
|
||||||
+ monitor = [ "DP-1,2560x1440@75,0x0,1" ];
|
|
||||||
xwayland.force_zero_scaling = true;
|
|
||||||
misc.vrr = 2; # VA suffers from VRR flicker
|
|
||||||
};
|
|
||||||
@@ -66,13 +66,6 @@
|
|||||||
rocmOverrideGfx = "10.3.0";
|
rocmOverrideGfx = "10.3.0";
|
||||||
};
|
};
|
||||||
|
|
||||||
printing = {
|
|
||||||
enable = true;
|
|
||||||
drivers = with pkgs; [
|
|
||||||
rastertokpsl-re
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
xserver.xkb.variant = "altgr-intl";
|
xserver.xkb.variant = "altgr-intl";
|
||||||
xserver.xkb.layout = "us";
|
xserver.xkb.layout = "us";
|
||||||
|
|
||||||
@@ -94,7 +87,6 @@
|
|||||||
# hid-fanatecff.enable = true;
|
# hid-fanatecff.enable = true;
|
||||||
|
|
||||||
enableAllFirmware = true;
|
enableAllFirmware = true;
|
||||||
sane.enable = true;
|
|
||||||
bluetooth = {
|
bluetooth = {
|
||||||
enable = true;
|
enable = true;
|
||||||
powerOnBoot = true;
|
powerOnBoot = true;
|
||||||
|
|||||||
@@ -113,6 +113,8 @@
|
|||||||
nerd-fonts.enable = true;
|
nerd-fonts.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.airprint.enable = true;
|
||||||
|
|
||||||
programs.zsh.enable = true;
|
programs.zsh.enable = true;
|
||||||
security.sudo.configFile = ''
|
security.sudo.configFile = ''
|
||||||
Defaults env_reset,pwfeedback,passprompt=" "
|
Defaults env_reset,pwfeedback,passprompt=" "
|
||||||
|
|||||||
@@ -22,6 +22,8 @@
|
|||||||
boot = {
|
boot = {
|
||||||
quiet.enable = true;
|
quiet.enable = true;
|
||||||
|
|
||||||
|
kernelParams = [ "module_blacklist=i915" ];
|
||||||
|
|
||||||
kernelPackages = pkgs.linuxPackages_latest;
|
kernelPackages = pkgs.linuxPackages_latest;
|
||||||
|
|
||||||
loader = {
|
loader = {
|
||||||
@@ -77,6 +79,8 @@
|
|||||||
videoDrivers = [ "nvidia" ];
|
videoDrivers = [ "nvidia" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.airprint.enable = true;
|
||||||
|
|
||||||
hardware = {
|
hardware = {
|
||||||
q3279vwf.enable = true;
|
q3279vwf.enable = true;
|
||||||
audio.preset.pipewire.enable = true;
|
audio.preset.pipewire.enable = true;
|
||||||
|
|||||||
@@ -17,7 +17,6 @@
|
|||||||
# browsers
|
# browsers
|
||||||
firefox
|
firefox
|
||||||
chromium
|
chromium
|
||||||
brave
|
|
||||||
|
|
||||||
# media
|
# media
|
||||||
jellyfin-media-player
|
jellyfin-media-player
|
||||||
|
|||||||
@@ -27,6 +27,10 @@ in
|
|||||||
systemd.enable = false;
|
systemd.enable = false;
|
||||||
package = null;
|
package = null;
|
||||||
portalPackage = null;
|
portalPackage = null;
|
||||||
|
settings.ecosystem = {
|
||||||
|
no_update_news = true;
|
||||||
|
no_donation_nag = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
home = {
|
home = {
|
||||||
packages = with pkgs; [ grim ];
|
packages = with pkgs; [ grim ];
|
||||||
|
|||||||
@@ -54,6 +54,8 @@ in
|
|||||||
|
|
||||||
home-manager.users.${username}.wayland.windowManager.hyprland.settings = {
|
home-manager.users.${username}.wayland.windowManager.hyprland.settings = {
|
||||||
cursor.no_hardware_cursors = true;
|
cursor.no_hardware_cursors = true;
|
||||||
|
opengl.nvidia_anti_flicker = true;
|
||||||
|
# render.direct_scanout = 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
environment = {
|
environment = {
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ in
|
|||||||
};
|
};
|
||||||
monitor = [ "DP-1,2560x1440@75,0x0,1" ];
|
monitor = [ "DP-1,2560x1440@75,0x0,1" ];
|
||||||
xwayland.force_zero_scaling = true;
|
xwayland.force_zero_scaling = true;
|
||||||
misc.vrr = 2; # VA suffers from VRR flicker
|
misc.vrr = 0; # VA suffers from VRR flicker
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,10 @@ in
|
|||||||
enable = true;
|
enable = true;
|
||||||
extraBackends = [ pkgs.sane-airscan ];
|
extraBackends = [ pkgs.sane-airscan ];
|
||||||
};
|
};
|
||||||
services.printing.enable = true;
|
services.printing = {
|
||||||
|
enable = true;
|
||||||
|
stateless = true;
|
||||||
|
};
|
||||||
services.avahi = {
|
services.avahi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
nssmdns4 = true;
|
nssmdns4 = true;
|
||||||
|
|||||||
@@ -50,6 +50,12 @@ in
|
|||||||
};
|
};
|
||||||
spiceUSBRedirection.enable = true;
|
spiceUSBRedirection.enable = true;
|
||||||
};
|
};
|
||||||
services.spice-vdagentd.enable = true;
|
|
||||||
|
networking.firewall.trustedInterfaces = [ "virbr0" ];
|
||||||
|
|
||||||
|
services = {
|
||||||
|
spice-vdagentd.enable = true;
|
||||||
|
spice-webdavd.enable = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,39 +0,0 @@
|
|||||||
{
|
|
||||||
stdenv,
|
|
||||||
fetchFromGitHub,
|
|
||||||
cmake,
|
|
||||||
cups,
|
|
||||||
patchPpdFilesHook,
|
|
||||||
lib,
|
|
||||||
}:
|
|
||||||
stdenv.mkDerivation {
|
|
||||||
name = "rastertokpsl-re";
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "eLtMosen";
|
|
||||||
repo = "rastertokpsl-re";
|
|
||||||
rev = "84dcb2bc0d9a6797eedcd56f2e603dde2fbbf290";
|
|
||||||
hash = "sha256-qPBZ0qKnY14rTaNa6vjyVB8c0aaXDSewia4n1a6xoyg=";
|
|
||||||
};
|
|
||||||
buildInputs = [
|
|
||||||
cmake
|
|
||||||
cups
|
|
||||||
];
|
|
||||||
cmakeFlags = [ "-DCMAKE_C_FLAGS=-D_GNU_SOURCE" ];
|
|
||||||
nativeBuildInputs = [ patchPpdFilesHook ];
|
|
||||||
installPhase = ''
|
|
||||||
runHook preInstall
|
|
||||||
|
|
||||||
install -Dm755 /build/source/bin/rastertokpsl-re $out/lib/cups/filter/rastertokpsl
|
|
||||||
mkdir -p $out/share/cups/model/Kyocera
|
|
||||||
install -D /build/source/*.ppd $out/share/cups/model/Kyocera
|
|
||||||
|
|
||||||
runHook postInstall
|
|
||||||
'';
|
|
||||||
ppdFileCommands = [ "rastertokpsl" ];
|
|
||||||
meta = with lib; {
|
|
||||||
description = "Reverse engineered Kyocera rastertokpsl filter for CUPS";
|
|
||||||
homepage = "https://github.com/eLtMosen/rastertokpsl-re";
|
|
||||||
license = licenses.asl20;
|
|
||||||
maintainers = [ maintainers.theaninova ];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user