diff --git a/home-manager/flake.lock b/home-manager/flake.lock index 5f6e90a..75c7e9d 100644 --- a/home-manager/flake.lock +++ b/home-manager/flake.lock @@ -230,11 +230,11 @@ "locked": { "lastModified": 1, "narHash": "sha256-F++9IlKzjo5nlNYC+fpx4GfbJiEUqLarfQPBBT5uz3A=", - "path": "/nix/store/qvgag1b29z1r922j9il1bfrln83h4dyh-source/programs/shadps4", + "path": "/nix/store/pqmm2wcrq2ag9i7msn7yd7ck3qv35rjp-source/programs/shadps4", "type": "path" }, "original": { - "path": "/nix/store/qvgag1b29z1r922j9il1bfrln83h4dyh-source/programs/shadps4", + "path": "/nix/store/pqmm2wcrq2ag9i7msn7yd7ck3qv35rjp-source/programs/shadps4", "type": "path" } }, diff --git a/home-manager/hosts/nixos/home.nix b/home-manager/hosts/nixos/home.nix new file mode 100644 index 0000000..f2ce34b --- /dev/null +++ b/home-manager/hosts/nixos/home.nix @@ -0,0 +1,67 @@ +{ + config, + pkgs, + unstable, + inputs, + ... +}: + +{ + + # Home Manager needs a bit of information about you and the paths it should + # manage. + home.username = "buymymojo"; + home.homeDirectory = "/home/buymymojo"; + + # This value determines the Home Manager release that your configuration is + # compatible with. This helps avoid breakage when a new Home Manager release + # introduces backwards incompatible changes. + # + # You should not change this value, even if you update Home Manager. If you do + # want to update the value, then make sure to first check the Home Manager + # release notes. + home.stateVersion = "24.11"; # Please read the comment before changing. + + # Home Manager is pretty good at managing dotfiles. The primary way to manage + # plain files is through 'home.file'. + home.file = { + # # Building this configuration will create a copy of 'dotfiles/screenrc' in + # # the Nix store. Activating the configuration will then make '~/.screenrc' a + # # symlink to the Nix store copy. + # ".screenrc".source = dotfiles/screenrc; + + # # You can also set the file content immediately. + # ".gradle/gradle.properties".text = '' + # org.gradle.console=verbose + # org.gradle.daemon.idletimeout=3600000 + # ''; + }; + + # Home Manager can also manage your environment variables through + # 'home.sessionVariables'. These will be explicitly sourced when using a + # shell provided by Home Manager. If you don't want to manage your shell + # through Home Manager then you have to manually source 'hm-session-vars.sh' + # located at either + # + # ~/.nix-profile/etc/profile.d/hm-session-vars.sh + # + # or + # + # ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh + # + # or + # + # /etc/profiles/per-user/buymymojo/etc/profile.d/hm-session-vars.sh + # + home.sessionVariables = { + EDITOR = "code"; + NIXPKGS_ALLOW_UNFREE = "1"; + }; + + home.sessionPath = [ + "/home/buymymojo/bin/" + ]; + + # Let Home Manager install and manage itself. + programs.home-manager.enable = true; +} diff --git a/home-manager/hosts/nixos/packages.nix b/home-manager/hosts/nixos/packages.nix new file mode 100644 index 0000000..de3d396 --- /dev/null +++ b/home-manager/hosts/nixos/packages.nix @@ -0,0 +1,155 @@ +{ + config, + pkgs, + unstable, + gsr-ui, + inputs, + ... +}: + +{ + + home.file."jdks/zulujdk8".source = pkgs.zulu8; + home.file."jdks/zulujdk17".source = pkgs.zulu17; + home.file."jdks/zulujdk23".source = pkgs.zulu23; + + home.file."Godot/current".source = unstable.godot; + home.file."Godot/current-mono".source = unstable.godot-mono; + home.file."Godot/export-templates/current".source = unstable.godot-export-templates; + home.file."Godot/4.3".source = unstable.godot_4_3; + home.file."Godot/4.3-mono".source = unstable.godot_4_3-mono; + home.file."Godot/export-templates/4.3".source = unstable.godot_4_3-export-templates; + + home.file."bin/wine".source = unstable.wineWowPackages.waylandFull; + + # The home.packages option allows you to install Nix packages into your + # environment. + home.packages = + with unstable; + with inputs; + [ + pkgs.nextcloud-client + pkgs.xpipe + pkgs.monero-gui + unstable.kiwix + + # pkgs.protonplus + unstable.pcsx2 + pkgs.rpcs3 + unstable.ryubing + unstable.torzu + pkgs.heroic-unwrapped + unstable.ludusavi + inputs.shadps4-git.packages."x86_64-linux".default + + unstable.wineWowPackages.waylandFull + unstable.winetricks + steamtinkerlaunch + + # === Minecraft === + pkgs.prismlauncher + # pkgs.zulu8 + # pkgs.zulu17 + # pkgs.zulu23 + # === Minecraft === + + # === CLI === + pkgs.bat + pkgs.btop + pkgs.rrsync + pkgs.ripgrep + pkgs.wl-clipboard + pkgs.poop # Compare the performance of multiple commands with a colorful terminal user interface + pkgs.age + pkgs.stow + unstable.yt-dlp + pkgs.aria2 + pkgs.jujutsu + pkgs.lazyjj + pkgs.biome + # === CLI === + + # === Image CLI === + unstable.oxipng + unstable.image_optim + unstable.jpegoptim + pkgs.libjxl + pkgs.libavif + pkgs.libwebp + pkgs.imagemagick + # === Image CLI === + + # === Game perf === + unstable.mangojuice + unstable.goverlay + # === Game perf === + + # === Dev tooling === + # pkgs.rustup + # === Dev tooling === + + # pkgs.polychromatic + + pkgs.lazydocker + pkgs.distrobox + pkgs.boxbuddy + + unstable.godot-mono + unstable.godot-export-templates + unstable.blender-hip + unstable.freecad-wayland + pkgs.unityhub + pkgs.material-maker + unstable.blockbench + + unstable.gpu-screen-recorder-gtk + gsr-ui.gpu-screen-recorder-ui + + # # You can also create simple shell scripts directly inside your + # # configuration. For example, this adds a command 'my-hello' to your + # # environment: + # (pkgs.writeShellScriptBin "my-hello" '' + # echo "Hello, ${config.home.username}!" + # '') + ]; + + programs.mangohud = { + enable = true; + enableSessionWide = true; + package = unstable.mangohud; + }; + + programs.obs-studio = { + enable = true; + plugins = with pkgs.obs-studio-plugins; [ + wlrobs + obs-vkcapture + obs-pipewire-audio-capture + obs-teleport + obs-source-record + obs-source-clone + obs-composite-blur + ]; + }; + + # === ssh === + programs.ssh.matchBlocks = { + "*" = { + identityFile = "/home/buymymojo/.ssh/id_ed25519-mainpc"; + }; + + "game2.buymymojo.net" = { + hostname = "game2.buymymojo.net"; + user = "jumpbox"; + identityFile = "/home/buymymojo/.ssh/id_ed25519-mainpc"; + }; + + "git.aria.coffee" = { + hostname = "git.aria.coffee"; + user = "git"; + identityFile = "/home/buymymojo/.ssh/id_ed25519-mainpc"; + port = 23; + }; + }; + +} diff --git a/home-manager/hosts/nixos/services.nix b/home-manager/hosts/nixos/services.nix new file mode 100644 index 0000000..ddc5404 --- /dev/null +++ b/home-manager/hosts/nixos/services.nix @@ -0,0 +1,14 @@ +{ + config, + pkgs, + unstable, + inputs, + ... +}: + +{ + + services.ssh-agent.enable = true; + services.syncthing.enable = true; + +}