From 2bb2ab4afcb5592ce10b5ad60a911df933049c72 Mon Sep 17 00:00:00 2001 From: KeksNino Date: Sat, 27 Jun 2026 21:36:14 +0200 Subject: [PATCH] update too much --- configuration.nix | 39 +-------- discord-music-presence/.envrc | 6 ++ discord-music-presence/.gitignore | 15 ++++ discord-music-presence/flake.lock | 27 +++++++ discord-music-presence/flake.nix | 30 +++++++ .../pkgs/discord-music-presence.nix | 79 +++++++++++++++++++ discord-music-presence/shell.nix | 12 +++ flake.lock | 33 +++++++- flake.nix | 7 +- hardware-configuration.nix | 14 ++-- home-manager/home.nix | 65 +++++++++++++-- packages.nix | 30 ++----- 12 files changed, 284 insertions(+), 73 deletions(-) create mode 100644 discord-music-presence/.envrc create mode 100644 discord-music-presence/.gitignore create mode 100644 discord-music-presence/flake.lock create mode 100644 discord-music-presence/flake.nix create mode 100644 discord-music-presence/pkgs/discord-music-presence.nix create mode 100644 discord-music-presence/shell.nix diff --git a/configuration.nix b/configuration.nix index d1eb991..59b258e 100644 --- a/configuration.nix +++ b/configuration.nix @@ -1,7 +1,3 @@ -# Edit this configuration file to define what should be installed on -# your system. Help is available in the configuration.nix(5) man page -# and in the NixOS manual (accessible by running ‘nixos-help’). - { config, pkgs, ... }: { @@ -28,10 +24,7 @@ boot.kernelParams = [ "iomem=relaxed" - "pcie_acs_override=downstream,multifunction,id:10de:1c03,id:10de:10f1" - "rd.driver.pre=vfio-pci" "quiet" - "pci-stub.ids=10de:1c03,10de:10f1" "iommu=pt" "amd_iommu=on" "kvm.ignore_msrs=1" @@ -71,7 +64,7 @@ # Configure console keymap console.keyMap = "de"; - # Define a user account. Don't forget to set a password with ‘passwd’. + programs.fish.enable = true; users.users.user = { isNormalUser = true; description = "user"; @@ -83,12 +76,6 @@ packages = with pkgs; [ ]; }; - programs.fish.enable = true; - - # Enable automatic login for the user. - services.getty.autologinUser = "user"; - - # Allow unfree packages nixpkgs.config.allowUnfree = true; programs.hyprland = { @@ -110,10 +97,11 @@ }; services.goxlr-utility.enable = true; - services.udisks2.enable = true; programs.dms-shell.enable = true; programs.steam.enable = true; programs.neovim.enable = true; + programs.git.enable = true; + programs.tmux.enable = true; security.rtkit.enable = true; systemd.services."rtkit-daemon".enable = true; @@ -124,26 +112,7 @@ "electron-39.8.10" ]; - # Some programs need SUID wrappers, can be configured further or are - # started in user sessions. - # programs.mtr.enable = true; - # programs.gnupg.agent = { - # enable = true; - # enableSSHSupport = true; - # }; - - # List services that you want to enable: - - # Enable the OpenSSH daemon. - # services.openssh.enable = true; - - # This value determines the NixOS release from which the default - # settings for stateful data, like file locations and database versions - # on your system were taken. It‘s perfectly fine and recommended to leave - # this value at the release version of the first install of this system. - # Before changing this value read the documentation for this option - # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). - system.stateVersion = "24.11"; # Did you read the comment? + system.stateVersion = "24.11"; system.autoUpgrade.enable = false; system.autoUpgrade.allowReboot = true; } diff --git a/discord-music-presence/.envrc b/discord-music-presence/.envrc new file mode 100644 index 0000000..0327fb6 --- /dev/null +++ b/discord-music-presence/.envrc @@ -0,0 +1,6 @@ +if has nix_direnv_version; then + watch_file modules/flake/shell.nix + + # now we want to load the flake environment + use flake +fi \ No newline at end of file diff --git a/discord-music-presence/.gitignore b/discord-music-presence/.gitignore new file mode 100644 index 0000000..33a9b94 --- /dev/null +++ b/discord-music-presence/.gitignore @@ -0,0 +1,15 @@ +### Nix template + +# Ignore build outputs from performing a nix-build or `nix build` command +result +result-* + +# Ignore the configuration folder for Jetbrains IDEs +.idea/ + +# Development environment +.direnv/ + +# Disable vm outputs that are called when starting a vm in this directory +*.qcow +*.qcow2 \ No newline at end of file diff --git a/discord-music-presence/flake.lock b/discord-music-presence/flake.lock new file mode 100644 index 0000000..8c95fc0 --- /dev/null +++ b/discord-music-presence/flake.lock @@ -0,0 +1,27 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1778869304, + "narHash": "sha256-30sZNZoA1cqF5JNO9fVX+wgiQYjB7HJqqJ4ztCDeBZE=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "d233902339c02a9c334e7e593de68855ad26c4cb", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/discord-music-presence/flake.nix b/discord-music-presence/flake.nix new file mode 100644 index 0000000..bdac145 --- /dev/null +++ b/discord-music-presence/flake.nix @@ -0,0 +1,30 @@ +{ + description = "Xaiya's packaged packages"; + + inputs.nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; + + outputs = + { self, nixpkgs }: + let + systems = nixpkgs.lib.systems.flakeExposed; + + forAllSystems = + function: + nixpkgs.lib.genAttrs systems ( + system: function ( + import nixpkgs { + inherit system; + config.allowUnfree = true; + } + ) + ); + in { + packages = forAllSystems (pkgs: { + discord-music-presence = pkgs.callPackage ./pkgs/discord-music-presence.nix { }; + }); + + devShells = forAllSystems (pkgs: { + default = pkgs.callPackage ./shell.nix { }; + }); + }; +} diff --git a/discord-music-presence/pkgs/discord-music-presence.nix b/discord-music-presence/pkgs/discord-music-presence.nix new file mode 100644 index 0000000..ab6744f --- /dev/null +++ b/discord-music-presence/pkgs/discord-music-presence.nix @@ -0,0 +1,79 @@ +{ + lib, + fetchurl, + stdenv, + + xkeyboard_config, + + wayland, + libGL, + + openssl, + cacert, + + fontconfig, + freetype, + libgpg-error, + e2fsprogs, + + autoPatchelfHook, + makeWrapper, +}: + +stdenv.mkDerivation rec { + pname = "musicpresence"; + version = "2.3.5"; + + src = fetchurl { + url = "https://github.com/ungive/discord-music-presence/releases/download/v${version}/${pname}-${version}-linux-x86_64.tar.gz"; + hash = "sha256-BDgM1SfyEXC0oW+J33mYKwqRrvZX3cy/X9k7Yuk4kS8="; + }; + + nativeBuildInputs = [ + autoPatchelfHook + makeWrapper + ]; + + buildInputs = [ + stdenv.cc.cc + xkeyboard_config # ARGG + + wayland + libGL + + openssl + cacert + + fontconfig + freetype + libgpg-error + e2fsprogs + ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin $out/share + cp -r usr/* $out + + substituteInPlace $out/share/applications/${pname}.desktop \ + --replace-fail Exec=${pname} Exec=$out/bin/${pname} + + runHook postInstall + ''; + + postFixup = '' + wrapProgram $out/bin/${pname} \ + --set XKB_CONFIG_ROOT ${xkeyboard_config}/share/X11/xkb \ + --set SSL_CERT_FILE ${cacert}/etc/ssl/certs/ca-bundle.crt \ + --set OPENSSL_CONF ${openssl.out}/etc/ssl/openssl.cnf \ + ''; + + meta = { + description = "The Discord music status that works with any media player"; + homepage = "https://github.com/ungive/discord-music-presence"; + license = lib.licenses.unfreeRedistributable; + maintainers = with lib.maintainers; [ ]; + mainProgram = "musicpresence"; + }; +} \ No newline at end of file diff --git a/discord-music-presence/shell.nix b/discord-music-presence/shell.nix new file mode 100644 index 0000000..ec7b15a --- /dev/null +++ b/discord-music-presence/shell.nix @@ -0,0 +1,12 @@ +{ + mkShell, + callPackage, +}: +let + defaultPackage = callPackage ./pkgs/discord-music-presence.nix { }; +in +mkShell { + inputsFrom = [ defaultPackage ]; + + packages = [ ]; +} diff --git a/flake.lock b/flake.lock index 0f3dc07..3fad4bc 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,19 @@ { "nodes": { + "discord-music-presence": { + "inputs": { + "nixpkgs": "nixpkgs" + }, + "locked": { + "path": "./discord-music-presence", + "type": "path" + }, + "original": { + "path": "./discord-music-presence", + "type": "path" + }, + "parent": [] + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -21,6 +35,22 @@ } }, "nixpkgs": { + "locked": { + "lastModified": 1778869304, + "narHash": "sha256-30sZNZoA1cqF5JNO9fVX+wgiQYjB7HJqqJ4ztCDeBZE=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "d233902339c02a9c334e7e593de68855ad26c4cb", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { "locked": { "lastModified": 1782328929, "narHash": "sha256-EboKWnTWTpQMJ7MbgJs+KJGJuLDnBbA26h8M/jyvQrE=", @@ -37,8 +67,9 @@ }, "root": { "inputs": { + "discord-music-presence": "discord-music-presence", "home-manager": "home-manager", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_2", "zen-browser": "zen-browser" } }, diff --git a/flake.nix b/flake.nix index fd5a471..5b1ab02 100644 --- a/flake.nix +++ b/flake.nix @@ -10,10 +10,13 @@ url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; + discord-music-presence = { + url = "path:./discord-music-presence"; + }; }; outputs = - { self, zen-browser, ... }@inputs: + { self, zen-browser, discord-music-presence, ... }@inputs: let system = "x86_64-linux"; inherit (inputs) nixpkgs; @@ -43,11 +46,13 @@ let inputs = { zen = zen-browser; + music-presence = discord-music-presence; }; in { config, pkgs, ... }: { environment.systemPackages = [ pkgs.git + inputs.music-presence.packages.${pkgs.stdenv.hostPlatform.system}.discord-music-presence inputs.zen.packages.${pkgs.stdenv.hostPlatform.system}.default ]; } diff --git a/hardware-configuration.nix b/hardware-configuration.nix index 1291e42..4dc4871 100644 --- a/hardware-configuration.nix +++ b/hardware-configuration.nix @@ -8,7 +8,7 @@ [ (modulesPath + "/installer/scan/not-detected.nix") ]; - boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ]; + boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; boot.initrd.kernelModules = [ ]; boot.kernelModules = [ "kvm-amd" ]; boot.extraModulePackages = [ ]; @@ -24,21 +24,21 @@ options = [ "fmask=0077" "dmask=0077" ]; }; + fileSystems."/media/gamedisk4" = + { device = "/dev/disk/by-uuid/D290EB87C8A1E82A"; + fsType = "ntfs3"; + }; + fileSystems."/media/music" = { device = "192.168.132.149:/media/music"; fsType = "nfs4"; }; - fileSystems."/mnt" = + fileSystems."/media/arch" = { device = "/dev/disk/by-uuid/8873d98f-c461-4d34-8867-f4ebd5c205d2"; fsType = "ext4"; }; - fileSystems."/media/gamedisk4" = - { device = "/dev/disk/by-uuid/D290EB87C8A1E82A"; - fsType = "ntfs3"; - }; - swapDevices = [ { device = "/dev/disk/by-uuid/5949c73f-30eb-4956-9e93-70301c88fad8"; } ]; diff --git a/home-manager/home.nix b/home-manager/home.nix index 66791ad..750ee7e 100644 --- a/home-manager/home.nix +++ b/home-manager/home.nix @@ -10,15 +10,70 @@ in home.homeDirectory = "/home/user"; home.packages = with pkgs; [ - fzf - eza - nnn ]; programs.yazi.enable = true; programs.yazi.enableFishIntegration = true; - programs.fish.enable = true; + programs.fzf.enable = true; + programs.fzf.enableFishIntegration = true; + + programs.eza.enable = true; + programs.eza.enableFishIntegration = true; + + services.cliphist.enable = true; + + programs.pywal.enable = true; + programs.pywal.package = pkgs.pywal16; + + programs.btop.enable = true; + + services.udiskie.enable = true; + + programs.lazygit.enable = true; + programs.lazygit.enableFishIntegration = true; + + programs.cava.enable = true; + + programs.equibop.enable = true; + + services.awww.enable = true; + + programs.rofi.enable = true; + + services.mpdris2.enable = true; + + programs.fastfetch.enable = true; + + programs.rbw.enable = true; + + programs.fish = { + enable = true; + interactiveShellInit = '' + nitch + + ''; + }; + + programs.fish.shellAliases = { + cat = "bat"; + cd = "z"; + cp = "cp -v"; + ff = "fastfetch"; + grep = "grep -i"; + hyprland = "start-hyprland"; + ls = "ls --color=tty"; + mv = "mv -v"; + n = "nvim"; + py = "uv run"; + r = "rsync -avh --info=progress2"; + rm = "trash"; + ssh = "kitty +kitten ssh"; + }; + + + programs.zoxide.enable = true; + programs.zoxide.enableFishIntegration = true; # wayland.windowManager.hyprland = { # enable = true; @@ -27,7 +82,7 @@ in gtk = { enable = true; theme = { - name = "Adwaita-dark"; + name = "Materia-dark-compact"; package = pkgs.gnome-themes-extra; }; }; diff --git a/packages.nix b/packages.nix index f336079..c8e5c4d 100644 --- a/packages.nix +++ b/packages.nix @@ -2,37 +2,15 @@ environment.systemPackages = with pkgs; [ wget - efibootmgr - gdu kitty - nemo - awww + gdu jamesdsp - rofi - # waybar - udiskie grimblast - pywal16 - btop bitwarden-desktop - fzf - zinit - zoxide nitch - fzf - eza - tmux - cliphist - git adwaita-icon-theme - gnumake - gcc - meson - playerctl trash-cli - equibop wl-clipboard - cinny-desktop unzip p7zip tree-sitter @@ -45,6 +23,10 @@ basedpyright waypaper nerd-fonts.caskaydia-mono - lazygit + nix-search + rofi-calc + renoise + materia-theme-transparent + pavucontrol ]; }