diff --git a/hosts/lolcathost/default.nix b/hosts/lolcathost/default.nix index 9af4fc4..85b0217 100755 --- a/hosts/lolcathost/default.nix +++ b/hosts/lolcathost/default.nix @@ -76,10 +76,17 @@ in { #}; # Enable sound - # TODO: use the modules/core/pipewire.nix module instead :) + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; pipewire = { enable = true; + + alsa.enable = true; + alsa.support32Bit = true; pulse.enable = true; + jack.enable = true; + + wireplumber.enable = true; }; # Enable touchpad support diff --git a/hosts/lolcathost/default.nix.bak b/hosts/lolcathost/default.nix.bak deleted file mode 100755 index c7f703e..0000000 --- a/hosts/lolcathost/default.nix.bak +++ /dev/null @@ -1,280 +0,0 @@ -{ - pkgs, - inputs, - ... -}: let - home-manager = builtins.fetchTarball { - url = "https://github.com/nix-community/home-manager/archive/master.tar.gz"; - sha256 = "19w63qccz78v0spx03911z98w1bvlxvd07hb0ma14a4vdzi4ninj"; - }; -in { - imports = [ - ./hardware-configuration.nix - (import "${home-manager}/nixos") - inputs.spicetify-nix.nixosModules.default - ]; - - programs.spicetify = let - spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system}; - in { - enable = true; - enabledExtensions = with spicePkgs.extensions; [ - adblock - hidePodcasts - shuffle # shuffle+ (special characters are sanitized out of extension names) - ]; - #theme = spicePkgs.themes.catppuccin; - #colorScheme = "mocha"; - }; - - # Use the systemd-boot EFI boot loader. - boot.loader = { - efi = { - canTouchEfiVariables = true; - efiSysMountPoint = "/boot/efi"; - }; - grub = { - efiSupport = true; - #efiInstallAsRemovable = true; # in case canTouchEfiVariables doesn't work on this system - device = "nodev"; - }; - }; - - # Set your time zone. - time.timeZone = "Australia/Brisbane"; - - # Select internationalisation properties. - i18n.defaultLocale = "en_US.UTF-8"; - console = { - font = "Lat2-Terminus16"; - keyMap = "us"; - console.packages = with pkgs; [ - nerdfonts - ]; - }; - - # ----- NETWORKING SECTION ----- - networking.hostName = "lolcathost"; - networking.networkmana - - # Open ports in the fi - # networking.firewall.allowedTCPPorts = [ ... ]; - # networking.firewall.allowedUDPPorts = [ ... ]; - # Or disable the firewall altogether. - networking.firewall.enable = true; - - # ----- SERVICES ----- - services = { - # Set display manager (login screen) - #displayManager = { - # sddm = { - # enable = true; - # #theme = "${import ./sddm-theme.nix { inherit pkgs; }}"; - # wayland.enable = true; # enable experimental sddm support for wayland - # }; - # defaultSession = "hyprland"; - #}; - - # Enable sound - # TODO: use the modules/core/pipewire.nix module instead :) - pipewire = { - enable = true; - pulse.enable = true; - }; - - # Enable touchpad support - libinput.enable = true; - }; - - # allow wheel group to use passwordless sudo - users = { - # using fish as the login shell tends - # to go very poorly because it isn't - # POSIX compliant, so we'll just use - # simple Bash then :) - defaultUserShell = pkgs.bash; - - users = { - # just me fr (personal account) - me = { - isNormalUser = true; - extraGroups = ["wheel"]; - shell = pkgs.bash; #pkgs.fish - packages = with pkgs; [ - firefox - nitch - starfetch - tldr - ]; - }; - - # programming/development account - dev = { - isNormalUser = true; - extraGroups = ["wheel"]; - shell = pkgs.bash; #pkgs.zsh - packages = with pkgs; [ - ]; - }; - - # user for my professional jobs and stuff - ae = { - isNormalUser = true; - extraGroups = ["wheel"]; - shell = pkgs.bash; #pkgs.fish - packages = with pkgs; [ - ]; - }; - }; - }; - - home-manager = { - users.me = import ../../homes/me; - sharedModules = [ - #inputs.nixcord.homeManagerModules.nixcord - #inputs.nixvim.homeManagerModules.nixvim - ]; - }; - - # ---- SYSTEM PACKAGES ----- - environment.systemPackages = with pkgs; [ - # User Environment - inputs.swww.packages.${pkgs.system}.swww - #vesktop - helvum - easyeffects - ani-cli - wl-clipboard # clipboard for wayland - - python311 # I use 3.11 since it's in a pretty stable state now - poetry # python dependency management and packaging - - # fish plugins - grc # colorise command outputs - - httpie - curlie - zoxide - doggo - - # Pretty necessary - git - brightnessctl - acpi - - # Unix Commands - wget - tree - ]; - - # Enable the use of certain programs - programs = { - hyprland = { - enable = true; - # set the flake package - package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland; - # make sure to also set the portal package, so that they are in sync - portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; - - xwayland.enable = true; - #systemd.enable = true; - }; - - zsh.enable = true; - fish.enable = true; - - neovim = { - enable = true; - defaultEditor = true; - viAlias = true; - vimAlias = true; - configure = { - customRC = '' - set number - set tabstop=4 - set shiftwidth=4 - - set mouse=a - ''; - }; - }; - - # I want to use fish as my login shell but it always goes terrible - # cause it isn't POSIX compliant, so instead Bash is my login and - # will just exec fish (^-^) - bash = { - interactiveShellInit = '' - if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]] - then - shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION="" - exec ${pkgs.fish}/bin/fish $LOGIN_OPTION - fi - ''; - }; - }; - - # ----- FONTS ----- - fonts = { - enableDefaultPackages = true; # no clue what this line does tbh - packages = with pkgs; [ - (nerdfonts.override { - fonts = [ - "Cousine" - "Iosevka" - ]; - }) - - # texlive maintains a noto-emoji flake - texlivePackages.noto-emoji - ]; - - fontconfig = { - defaultFonts = { - serif = ["Iosevka"]; # TODO: package Iosevka Etoile since Iosevka isn't a serif font - sansSerif = ["Iosevka "]; - monospace = ["Cousine"]; - emoji = ["Noto Emoji"]; - }; - }; - }; - - # ----- STYLIX ----- - - #stylix = { - # enable = true; - # image = pkgs.fetchurl { - # url = "https://www.pixelstalk.net/wp-content/uploads/2016/05/Epic-Anime-Awesome-Wallpapers.jpg"; - # sha256 = "enQo3wqhgf0FEPHj2coOCvo7DuZv+x5rL/WIo4qPI50="; - # }; - # - # # Stylix will automatically theme applications - # #autoEnable = true; - # #image = ../../wallpapers/wall.png; - # #image = "/home/me/nixdots/wallpapers/ghibli-esque-valley.png"; - #}; - - # Enable the new CLI commands and the flakes as experimental features - nix.settings.experimental-features = [ - "nix-command" - "flakes" - ]; - - # 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; - # }; - - # Enable the OpenSSH daemon. - # services.openssh.enable = true; - - # Enable OpenGL - hardware = { - graphics.enable = true; - }; - - # DO NOT MODIFY - system.stateVersion = "24.05"; # Did you read the comment? -}