{ config, pkgs, lib, unstable, inputs, nix-your-shell, ... }: { nix.settings.experimental-features = [ "nix-command" "flakes" ]; # Allow unfree packages nixpkgs.config.allowUnfree = true; # Set your time zone. time.timeZone = "Australia/Melbourne"; fonts = { fontDir.enable = true; enableGhostscriptFonts = true; packages = [ ] ++ builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.nerd-fonts); }; environment.systemPackages = with pkgs; with unstable; [ waypipe # === nix related === comma nh # === nix related === # nix-your-shell ]; programs.firefox.enable = true; programs.gnupg.agent = { enable = true; enableSSHSupport = true; }; programs.fish = { enable = true; # interactiveShellInit = '' # nix-your-shell fish | source # ''; }; programs.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 ''; }; boot.binfmt.registrations.appimage = { wrapInterpreterInShell = false; interpreter = "${pkgs.appimage-run}/bin/appimage-run"; recognitionType = "magic"; offset = 0; mask = ''\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff''; magicOrExtension = ''\x7fELF....AI\x02''; }; }