feat: stylix

This commit is contained in:
Patrick 2023-09-22 20:57:08 +02:00
parent a743f4f177
commit a05748ee28
Signed by: patrick
GPG key ID: 451F95EFB8BECD0F
19 changed files with 184 additions and 88 deletions

View file

@ -44,6 +44,24 @@
"type": "github"
}
},
"base16": {
"inputs": {
"fromYaml": "fromYaml"
},
"locked": {
"lastModified": 1689633990,
"narHash": "sha256-iwvQg2Vx0IIDWZaKo8Xmzxlv1YPHg+Kp/QSv8dRv0RY=",
"owner": "SenchoPens",
"repo": "base16.nix",
"rev": "dddf2e1c04845d43c89a8e9e37d574519649a404",
"type": "github"
},
"original": {
"owner": "SenchoPens",
"repo": "base16.nix",
"type": "github"
}
},
"colmena": {
"inputs": {
"flake-compat": "flake-compat",
@ -230,6 +248,22 @@
"type": "github"
}
},
"flake-compat_5": {
"flake": false,
"locked": {
"lastModified": 1673956053,
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
@ -347,6 +381,22 @@
"type": "github"
}
},
"fromYaml": {
"flake": false,
"locked": {
"lastModified": 1689549921,
"narHash": "sha256-iX0pk/uB019TdBGlaJEWvBCfydT6sRq+eDcGPifVsCM=",
"owner": "SenchoPens",
"repo": "fromYaml",
"rev": "11fbbbfb32e3289d3c631e0134a23854e7865c84",
"type": "github"
},
"original": {
"owner": "SenchoPens",
"repo": "fromYaml",
"type": "github"
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
@ -410,6 +460,27 @@
"type": "github"
}
},
"home-manager_2": {
"inputs": {
"nixpkgs": [
"stylix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1691882297,
"narHash": "sha256-e1/LAQSGLnBywfA1TfMl0Vj3tvYka73XOZ/D2/CJowE=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "c3ab5ea047e6dc73df530948f7367455749d8906",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"impermanence": {
"locked": {
"lastModified": 1694622745,
@ -680,6 +751,22 @@
"type": "github"
}
},
"nixpkgs_4": {
"locked": {
"lastModified": 1691853136,
"narHash": "sha256-wTzDsRV4HN8A2Sl0SVQY0q8ILs90CD43Ha//7gNZE+E=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "f0451844bbdf545f696f029d1448de4906c7f753",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixseparatedebuginfod": {
"inputs": {
"flake-utils": "flake-utils_4",
@ -774,6 +861,7 @@
"nixpkgs-wayland": "nixpkgs-wayland",
"nixseparatedebuginfod": "nixseparatedebuginfod",
"pre-commit-hooks": "pre-commit-hooks",
"stylix": "stylix",
"systems": "systems_4",
"templates": "templates"
}
@ -819,6 +907,27 @@
"type": "github"
}
},
"stylix": {
"inputs": {
"base16": "base16",
"flake-compat": "flake-compat_5",
"home-manager": "home-manager_2",
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1694375893,
"narHash": "sha256-oJGESNjJ/6o6tfuUavBZ7go4Oun7g9YKv7OqaQaY/80=",
"owner": "danth",
"repo": "stylix",
"rev": "c3c9f4784b4f08f6676340126858d936edbce1fa",
"type": "github"
},
"original": {
"owner": "danth",
"repo": "stylix",
"type": "github"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,

View file

@ -71,12 +71,16 @@
url = "github:nix-community/nix-index-database";
inputs.nixpkgs.follows = "nixpkgs";
};
nixseparatedebuginfod.url = "github:symphorien/nixseparatedebuginfod";
lanzaboote = {
url = "github:nix-community/lanzaboote/v0.3.0";
inputs.nixpkgs.follows = "nixpkgs";
};
stylix.url = "github:danth/stylix";
};
outputs = {

View file

@ -7,6 +7,7 @@
../../modules/config
../../modules/dev
../../modules/graphical
../../modules/hardware/bluetooth.nix
../../modules/hardware/intel.nix
@ -24,4 +25,7 @@
../../users/patrick
];
stylix.fonts.sizes = {
terminal = 10;
};
}

View file

@ -2,7 +2,6 @@
imports = [
./boot.nix
./efi.nix
./fonts.nix
./home-manager.nix
./inputrc.nix
./issue.nix

View file

@ -1,52 +0,0 @@
{pkgs, ...}: {
fonts = {
enableGhostscriptFonts = false;
fontDir.enable = false;
fontconfig = {
defaultFonts = {
sansSerif = ["IBM Plex Sans"];
serif = ["IBM Plex Sans"];
monospace = ["FiraCode Nerd Font"];
emoji = ["Noto Color Emoji"];
};
localConf = ''
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<alias binding="weak">
<family>monospace</family>
<prefer>
<family>emoji</family>
</prefer>
</alias>
<alias binding="weak">
<family>sans-serif</family>
<prefer>
<family>emoji</family>
</prefer>
</alias>
<alias binding="weak">
<family>serif</family>
<prefer>
<family>emoji</family>
</prefer>
</alias>
</fontconfig>
'';
};
packages = with pkgs; [
(nerdfonts.override {fonts = ["FiraCode"];})
ibm-plex
dejavu_fonts
unifont
freefont_ttf
gyre-fonts # TrueType substitutes for standard PostScript fonts
liberation_ttf
noto-fonts
noto-fonts-cjk-sans
noto-fonts-cjk-serif
noto-fonts-emoji
noto-fonts-extra
];
};
}

View file

@ -0,0 +1,18 @@
{
inputs,
config,
pkgs,
...
}: {
imports = [
inputs.stylix.nixosModules.stylix
./fonts.nix
];
stylix = {
autoEnable = false;
polarity = "dark";
image = config.lib.stylix.pixel "base00";
base16Scheme = "${pkgs.base16-schemes}/share/themes/da-one-black.yaml";
};
}

View file

@ -3,12 +3,6 @@
enableGhostscriptFonts = false;
fontDir.enable = false;
fontconfig = {
defaultFonts = {
sansSerif = ["IBM Plex Sans"];
serif = ["IBM Plex Sans"];
monospace = ["FiraCode Nerd Font"];
emoji = ["Noto Color Emoji"];
};
localConf = ''
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
@ -49,4 +43,27 @@
noto-fonts-extra
];
};
stylix.fonts = {
serif = {
package = pkgs.dejavu_fonts;
name = "IBM Plex Serif";
};
sansSerif = {
package = pkgs.dejavu_fonts;
name = "IBM Plex Sans";
};
monospace = {
# No need for patched nerd fonts, kitty can pick up on them automatically,
# and ideally every program should do that: https://sw.kovidgoyal.net/kitty/faq/#kitty-is-not-able-to-use-my-favorite-font
package = pkgs.jetbrains-mono;
name = "JetBrains Mono";
};
emoji = {
package = pkgs.noto-fonts-emoji;
name = "Noto Color Emoji";
};
};
}

View file

@ -18,11 +18,6 @@ in {
options.programs.streamdeck-ui = {
enable = mkEnableOption "streamdeck-ui";
package = mkPackageOption pkgs "streamdeck-ui" {};
autoStart = mkOption {
default = true;
type = types.bool;
description = "Whether streamdeck-ui should be started automatically";
};
settings = mkOption {
default = {};
type = types.submodule {freeformType = settingsFormat.type;};
@ -31,6 +26,7 @@ in {
};
config = mkIf config.programs.streamdeck-ui.enable {
home.packages = [pkgs.streamdeck-ui];
home.sessionVariables.STREAMDECK_UI_CONFIG = "${config.xdg.configHome}/streamdeck-ui/config.json";
xdg.configFile.streamdeck-ui = {
target = "streamdeck-ui/config.json";
source = settingsFormat.generate "config.json" {
@ -38,20 +34,6 @@ in {
state = config.programs.streamdeck-ui.settings;
};
};
systemd.user.services = mkIf config.programs.streamdeck-ui.autoStart {
streamdeck-ui = {
Unit = {
Description = "Start streamdeck-ui";
};
Service = {
Environment = "STREAMDECK_UI_CONFIG=${config.xdg.configHome}/streamdeck-ui/config.json";
ExecStart = "${config.programs.streamdeck-ui.package}/bin/streamdeck --no-ui";
};
Install = {
WantedBy = ["default.target"];
};
};
};
};
})
];

View file

@ -3,6 +3,7 @@
lib,
...
}: {
stylix.targets.i3.enable = true;
xsession.windowManager.i3 = {
enable = true;
config =

View file

@ -1,7 +1,7 @@
{
stylix.targets.rofi.enable = true;
programs.rofi = {
enable = true;
theme = "DarkBlue";
extraConfig = {
matching = "fuzzy";
dpi = 1;

View file

@ -21,5 +21,6 @@ if command -v dbus-update-activation-environment >/dev/null 2>&1; then
fi
autorandr -c
streamdeck --no-ui
systemctl --user start set-wallpaper.service
exec i3

View file

@ -1,6 +1,7 @@
{
pkgs,
config,
lib,
...
}: {
home.pointerCursor = {
@ -11,6 +12,16 @@
size = 18;
};
stylix = {
targets = {
gtk.enable = true;
bat.enable = true;
dunst.enable = true;
zathura.enable = true;
xresources.enable = true;
};
};
xresources.properties = {
"Xft.hinting" = true;
"Xft.antialias" = true;
@ -38,7 +49,7 @@
package = pkgs.vimix-icon-theme;
};
theme = {
theme = lib.mkForce {
name = "Orchis-purple-solid-black";
package = pkgs.orchis-theme;
};

View file

@ -1,4 +1,5 @@
{pkgs, ...}: {
stylix.targets.fuzzel.enable = true;
home.packages = with pkgs; [
(writeShellScriptBin "fuzzel" ''
${fuzzel}/bin/fuzzel --background-color=000000ff

View file

@ -8,6 +8,7 @@
home.packages = [
pkgs.wdisplays
];
stylix.targets.sway.enable = true;
wayland.windowManager.sway = {
enable = true;
config =

View file

@ -1,14 +1,14 @@
{pkgs, ...}: {
{
pkgs,
lib,
...
}: {
stylix.targets.kitty.enable = true;
programs.kitty = {
enable = true;
package = pkgs.kitty.overrideAttrs (_finalAttrs: _prevAttrs: {
doCheck = false;
});
font = {
package = pkgs.nerdfonts;
name = "FiraCode Nerd Font";
size = 10;
};
settings = {
# Use xterm-256color because copying terminfo-kitty is painful.
term = "xterm-256color";

View file

@ -5,8 +5,8 @@
}: {
# enable nixos wide graphical config
imports = [
../../modules/graphical/xserver.nix
../../modules/graphical/steam.nix
../../modules/optional/xserver.nix
../../modules/optional/steam.nix
./impermanence.nix
];