diff --git a/custom-pkgs/default.nix b/custom-pkgs/default.nix index 1d9d5bd..2fa44fa 100644 --- a/custom-pkgs/default.nix +++ b/custom-pkgs/default.nix @@ -1,5 +1,6 @@ pkgs: { cargo-bisect-rustc = import ./cargo-bisect-rustc/default.nix pkgs; + monaspace = import ./monaspace.nix pkgs; sl = import ./sl { inherit pkgs; }; run = import ./run { inherit pkgs; }; unpem = import ./unpem { inherit pkgs; }; diff --git a/custom-pkgs/monaspace.nix b/custom-pkgs/monaspace.nix new file mode 100644 index 0000000..05af6dc --- /dev/null +++ b/custom-pkgs/monaspace.nix @@ -0,0 +1,50 @@ +# Copied from https://github.com/NixOS/nixpkgs/blob/703b9db6c5154530264bd7b6b09552596d0e5ede/pkgs/by-name/mo/monaspace/package.nix, +# in nixos-unstable soon +{ lib, stdenv, fetchzip, ... }: + +stdenv.mkDerivation (finalAttrs: { + pname = "monaspace"; + version = "1.000"; + + src = fetchzip { + url = "https://github.com/githubnext/monaspace/releases/download/v${finalAttrs.version}/monaspace-v${finalAttrs.version}.zip"; + stripRoot = false; + hash = "sha256-H8NOS+pVkrY9DofuJhPR2OlzkF4fMdmP2zfDBfrk83A="; + }; + + outputs = [ "out" "woff" ]; + + installPhase = '' + runHook preInstall + pushd monaspace-v${finalAttrs.version}/fonts/ + install -Dm644 otf/*.otf -t $out/share/fonts/opentype + install -Dm644 variable/*.ttf -t $out/share/fonts/truetype + install -Dm644 webfonts/*.woff -t $woff/share/fonts/woff + popd + runHook postInstall + ''; + + meta = { + description = "An innovative superfamily of fonts for code"; + longDescription = '' + Since the earliest days of the teletype machine, code has been set in + monospaced type — letters, on a grid. Monaspace is a new type system that + advances the state of the art for the display of code on screen. + Every advancement in the technology of computing has been accompanied by + advancements to the display and editing of code. CRTs made screen editors + possible. The advent of graphical user interfaces gave rise to integrated + development environments. + Even today, we still have limited options when we want to layer additional + meaning on top of code. Syntax highlighting was invented in 1982 to help + children to code in BASIC. But beyond colors, most editors must + communicate with developers through their interfaces — hovers, underlines, + and other graphical decorations. + Monaspace offers a more expressive palette for code and the tools we use + to work with it. + ''; + homepage = "https://monaspace.githubnext.com/"; + license = lib.licenses.ofl; + maintainers = with lib.maintainers; [ AndersonTorres ]; + platforms = lib.platforms.all; + }; +}) diff --git a/nixos/configuration.nix b/nixos/configuration.nix index a0ebf05..56514f2 100644 --- a/nixos/configuration.nix +++ b/nixos/configuration.nix @@ -1,7 +1,11 @@ # This is your system's configuration file. # Use this to configure your system environment (it replaces /etc/nixos/configuration.nix) -{ inputs, lib, config, pkgs, ... }: { +{ inputs, lib, config, pkgs, ... }: +let + customPkgs = import ../custom-pkgs/default.nix pkgs; +in +{ # You can import other NixOS modules here imports = [ # If you want to use modules from other flakes (such as nixos-hardware): @@ -114,7 +118,6 @@ hardware.graphics = { enable = true; - enable32Bit = true; # for games stores?? extraPackages = with pkgs; [ vaapiVdpau ]; @@ -168,11 +171,7 @@ #media-session.enable = true; }; - fonts = { - enableDefaultPackages = true; - packages = with pkgs; [ fira-code monaspace font-awesome ]; - }; - + fonts.packages = with pkgs; [ fira-code customPkgs.monaspace ]; services.nixseparatedebuginfod.enable = true; @@ -237,7 +236,7 @@ # inputs.firefox.packages.${pkgs.system}.firefox-nightly-bin firefox git - perf + (linuxKernel.packagesFor linuxKernel.kernels.linux_latest).perf fish unzip (steam.override { @@ -245,7 +244,6 @@ }).run # Wine for 32 and 64 bit applications wineWowPackages.stable - lutris virt-manager podman neofetch # for the grub theme @@ -259,6 +257,7 @@ alacritty fuzzel xwayland-satellite + font-awesome mpv ];