From af2189a58739b535bcdf5afaf6c486cca448e234 Mon Sep 17 00:00:00 2001 From: coast Date: Thu, 20 Aug 2026 04:04:30 +0330 Subject: [PATCH] xserber --- configuration/default.nix | 11 ++- configuration/desktop/default.nix | 6 +- configuration/hardware.nix | 10 +-- configuration/services/jellyfin/default.nix | 1 + flake.lock | 71 ++++++++++++++++++- flake.nix | 7 +- home-configuration/config/niri/config.kdl | 2 +- home-configuration/config/nvim/lazy-lock.json | 2 +- home-configuration/default.nix | 4 +- .../managed/prismlauncher/default.nix | 4 +- .../managed/xserver/default.nix | 53 ++++++++++++++ 11 files changed, 147 insertions(+), 24 deletions(-) create mode 100644 home-configuration/managed/xserver/default.nix diff --git a/configuration/default.nix b/configuration/default.nix index 1e5cefd..d8c0979 100644 --- a/configuration/default.nix +++ b/configuration/default.nix @@ -1,4 +1,4 @@ -{ lib, pkgs, ... }: { +{ inputs, lib, pkgs, ... }: { imports = [ ./hardware.nix @@ -21,9 +21,6 @@ boot.loader.systemd-boot.configurationLimit = 25; boot.loader.efi.canTouchEfiVariables = true; - fileSystems."/media/drive".device = "/dev/disk/by-uuid/facf5a78-8872-437c-4345-50a28c894aca"; - fileSystems."/media/drive".fsType = "btrfs"; - hardware.graphics.enable = true; hardware.graphics.enable32Bit = true; @@ -38,6 +35,8 @@ services.printing.enable = false; services.pipewire.enable = true; services.pipewire.pulse.enable = true; + services.pipewire.alsa.enable = true; + services.pipewire.wireplumber.enable = true; services.libinput.enable = true; services.flatpak.enable = true; services.openssh.enable = true; @@ -53,7 +52,7 @@ programs.neovim.enable = true; programs.neovim.viAlias = true; programs.neovim.vimAlias = true; - programs.steam.enable = true; + programs.steam.enable = false; programs.git.enable = true; programs.zsh.enable = true; programs.zsh.autosuggestions.enable = true; @@ -81,7 +80,7 @@ iptables mesa-demos wl-clipboard - wireguard-tools + inputs.fetchit.packages.${pkgs.system}.default ]; users.users.coast.isNormalUser = true; diff --git a/configuration/desktop/default.nix b/configuration/desktop/default.nix index 34a5160..26ebdb4 100644 --- a/configuration/desktop/default.nix +++ b/configuration/desktop/default.nix @@ -1,7 +1,7 @@ { pkgs, ... }: { - services.desktopManager.plasma6.enable = true; - services.displayManager.plasma-login-manager.enable = true; + services.desktopManager.plasma6.enable = false; + services.displayManager.plasma-login-manager.enable = false; #x11 services.xserver.enable = true; @@ -11,7 +11,7 @@ services.xserver.displayManager.lightdm.greeters.gtk.enable = true; #niriwm - programs.niri.enable = false; + programs.niri.enable = true; programs.niri.useNautilus = true; programs.niri.package = pkgs.niri; } diff --git a/configuration/hardware.nix b/configuration/hardware.nix index 7de8fe9..bac2abd 100644 --- a/configuration/hardware.nix +++ b/configuration/hardware.nix @@ -5,20 +5,20 @@ boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ]; boot.initrd.kernelModules = [ ]; - boot.kernelParams = [ "kvm-amd" ]; + boot.kernelParams = [ "kvm-amd" "snd_hda_intel.probe_mask=1" ]; boot.extraModulePackages = [ ]; - fileSystems."/".device = "/dev/disk/by-label/nixos"; + fileSystems."/".device = "/dev/nvme0n1p2"; fileSystems."/".fsType = "ext4"; - fileSystems."/boot".device = "/dev/disk/by-label/boot"; + fileSystems."/boot".device = "/dev/nvme0n1p1"; fileSystems."/boot".fsType = "vfat"; fileSystems."/boot".options = [ "fmask=0022" "dmask=0022" ]; - fileSystems."/media/drive".device = "/dev/disk/by-uuid/facf5a78-8872-437c-4345-50a28c894aca"; + fileSystems."/media/drive".device = "/dev/sda2"; fileSystems."/media/drive".fsType = "btrfs"; - swapDevices = [{ device = "/dev/disk/by-label/swap"; }]; + swapDevices = [{ device = "/dev/nvme0n1p3"; }]; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; diff --git a/configuration/services/jellyfin/default.nix b/configuration/services/jellyfin/default.nix index dad9e6d..3e4f470 100644 --- a/configuration/services/jellyfin/default.nix +++ b/configuration/services/jellyfin/default.nix @@ -11,4 +11,5 @@ http_proxy = "socks5://127.0.0.1:2080"; https_proxy = "socks5://127.0.0.1:2080"; }; + systemd.services.jellyfin.serviceConfig.ReadWritePaths = [ "/media/drive/Albums" ]; } diff --git a/flake.lock b/flake.lock index b0ba5b3..83cd9f8 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,42 @@ { "nodes": { + "fetchit": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1787118847, + "narHash": "sha256-OXkCmr9EFKUKi/ouoNPnAcnW3Z4xl59bbIdeZcx2KgQ=", + "ref": "refs/heads/master", + "rev": "cc5cdb71df3d0e209b6c95c291814a578b54f729", + "revCount": 41, + "type": "git", + "url": "https://codeberg.org/coast/fetchit" + }, + "original": { + "type": "git", + "url": "https://codeberg.org/coast/fetchit" + } + }, + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -22,6 +59,22 @@ } }, "nixpkgs": { + "locked": { + "lastModified": 1787070829, + "narHash": "sha256-vXNVDVtvfiQuXthP0NHPFdNvvMTkGpx0UP8oddIWbNk=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "0ae2bc1419c3f345984c2629e72e7a631820fa4d", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { "locked": { "lastModified": 1780243769, "narHash": "sha256-x5UQuRsH3MqI0U9afaXSNqzTPSeZlRLvFAav2Ux1pNw=", @@ -39,8 +92,24 @@ }, "root": { "inputs": { + "fetchit": "fetchit", "home-manager": "home-manager", - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs_2" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" } } }, diff --git a/flake.nix b/flake.nix index 6c070fe..46bbbab 100644 --- a/flake.nix +++ b/flake.nix @@ -1,15 +1,15 @@ { description = "4th flake"; - inputs = { nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; home-manager.url = "github:nix-community/home-manager/release-26.05"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; + fetchit.url = "git+https://codeberg.org/coast/fetchit"; }; - - outputs = { self, nixpkgs, home-manager }: { + outputs = { self, nixpkgs, home-manager, fetchit, ... }@inputs: { nixosConfigurations.unix = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; + specialArgs = { inherit inputs; }; modules = [ ./configuration @@ -19,6 +19,7 @@ home-manager.useUserPackages = true; home-manager.users.coast = import ./home-configuration/default.nix; home-manager.backupFileExtension = "home-backup"; + home-manager.extraSpecialArgs = { inherit inputs; }; } ]; }; diff --git a/home-configuration/config/niri/config.kdl b/home-configuration/config/niri/config.kdl index 62e9793..f91c17f 100644 --- a/home-configuration/config/niri/config.kdl +++ b/home-configuration/config/niri/config.kdl @@ -235,7 +235,7 @@ binds { Mod+Shift+V { switch-focus-between-floating-and-tiling; } Mod+Shift+F { toggle-column-tabbed-display; } - Mod+F hotkey-overlay-title="Spawn file manager (caja)" { spawn-sh "XDG_DATA_DIRS=/etc/profiles/per-user/coast/share:/run/current-system/sw/share:$HOME/.nix-profile/share:$XDG_DATA_DIRS caja"; } + Mod+F hotkey-overlay-title="Spawn file manager (nautilus)" { spawn-sh "XDG_DATA_DIRS=/etc/profiles/per-user/coast/share:/run/current-system/sw/share:$HOME/.nix-profile/share:$XDG_DATA_DIRS nautilus"; } Print { screenshot; } Super+Shift+S { screenshot; } Control+Alt+S { screenshot-window; } diff --git a/home-configuration/config/nvim/lazy-lock.json b/home-configuration/config/nvim/lazy-lock.json index e4d83c3..3f016ea 100755 --- a/home-configuration/config/nvim/lazy-lock.json +++ b/home-configuration/config/nvim/lazy-lock.json @@ -8,7 +8,7 @@ "cmp-vsnip": { "branch": "main", "commit": "989a8a73c44e926199bfd05fa7a516d51f2d2752" }, "comfy-line-numbers.nvim": { "branch": "main", "commit": "9adedbaf1f410cdaacf4fb2ca8eb44f3d5f6d010" }, "fterm.nvim": { "branch": "master", "commit": "d1320892cc2ebab472935242d9d992a2c9570180" }, - "lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" }, + "lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" }, "lsp_signature.nvim": { "branch": "master", "commit": "b7ace9ddb1640ce266012a45a672dfdaedfa5ec6" }, "lualine.nvim": { "branch": "master", "commit": "221ce6b2d999187044529f49da6554a92f740a96" }, "mason.nvim": { "branch": "main", "commit": "16ba83bfc8a25f52bb545134f5bee082b195c460" }, diff --git a/home-configuration/default.nix b/home-configuration/default.nix index 0c955db..3f33732 100644 --- a/home-configuration/default.nix +++ b/home-configuration/default.nix @@ -17,6 +17,7 @@ in ./managed/git ./managed/prismlauncher ./managed/obs-studio + ./managed/xserver ]; home.username = "coast"; home.homeDirectory = "/home/coast"; @@ -25,7 +26,6 @@ in xdg.configFile = builtins.mapAttrs (key: subpath: { source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/Configuration/home-configuration/config/${subpath}"; - recursive = true; }) configs; @@ -61,7 +61,6 @@ in pkgs.nixpkgs-fmt pkgs.qbittorrent pkgs.nautilus - pkgs.caja pkgs.xray pkgs.git pkgs.gnumake @@ -98,6 +97,7 @@ in pkgs.obs-cmd pkgs.gedit pkgs.feishin + pkgs.alsa-utils pkgs.gnome-themes-extra ]; } diff --git a/home-configuration/managed/prismlauncher/default.nix b/home-configuration/managed/prismlauncher/default.nix index f31c610..8928bf1 100644 --- a/home-configuration/managed/prismlauncher/default.nix +++ b/home-configuration/managed/prismlauncher/default.nix @@ -1,10 +1,10 @@ { lib, pkgs, ... }: let pname = "prismlauncher"; - version = "11.0.2-1"; + version = "11.0.3"; src = pkgs.fetchurl { url = "https://github.com/Diegiwg/PrismLauncher-Cracked/releases/download/${version}/PrismLauncher-Linux-x86_64.AppImage"; - hash = "sha256-P+6s4g8uCqXQx0p5rieJFpuDV7AquGVYrcTs9XWFAsA="; + hash = "sha256:7559471672cbb36fb6e2159d894a96d9a56da563770dc74b982d84927ee56be0"; }; icon = pkgs.fetchurl { url = "https://upload.wikimedia.org/wikipedia/commons/7/74/Prism_Launcher_logo.svg"; diff --git a/home-configuration/managed/xserver/default.nix b/home-configuration/managed/xserver/default.nix new file mode 100644 index 0000000..e5889de --- /dev/null +++ b/home-configuration/managed/xserver/default.nix @@ -0,0 +1,53 @@ +{ pkgs, ... }: +{ + xsession.windowManager.bspwm.enable = true; + xsession.windowManager.bspwm.package = pkgs.bspwm-unstable; + xsession.windowManager.bspwm.settings = { + border_width = 2; + focused_border_color = "#383838"; + normal_border_color = "#282828"; + window_gap = 10; + split_ratiop = 0.5; + smart_gap = true; + focus_follows_pointer = false; + click_to_focus = true; + pointer_follows_monitor = true; + remove_disabled_monitors = true; + auto_cancel = true; + auto_alternate = true; + bottom_padding = 0; + }; + xsession.windowManager.bspwm.extraConfig = '' + pidb() { + pgrep -x "$1" >/dev/null 2>&1 + } + + run() { + proc="$1" + cmd="$2" + + if ! pidb "$proc"; then + sh -c "$cmd" & + fi + } + + ### }}} + + + ### {{{ rerun/start processes + + # piss + run "piss" "piss" + + # picom + run "picom" "picom --backend glx" + + # dunst + # run "dunst" "dunst" + + # bspbar + # run "bspbar" "bspbar" + + xwallpaper --center "$HOME/Wallpapers/nature2art.png" + ''; +}