feat: stylix
This commit is contained in:
parent
a743f4f177
commit
a05748ee28
109
flake.lock
109
flake.lock
|
@ -44,6 +44,24 @@
|
||||||
"type": "github"
|
"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": {
|
"colmena": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat",
|
"flake-compat": "flake-compat",
|
||||||
|
@ -230,6 +248,22 @@
|
||||||
"type": "github"
|
"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": {
|
"flake-parts": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": [
|
"nixpkgs-lib": [
|
||||||
|
@ -347,6 +381,22 @@
|
||||||
"type": "github"
|
"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": {
|
"gitignore": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
@ -410,6 +460,27 @@
|
||||||
"type": "github"
|
"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": {
|
"impermanence": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1694622745,
|
"lastModified": 1694622745,
|
||||||
|
@ -680,6 +751,22 @@
|
||||||
"type": "github"
|
"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": {
|
"nixseparatedebuginfod": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils_4",
|
"flake-utils": "flake-utils_4",
|
||||||
|
@ -774,6 +861,7 @@
|
||||||
"nixpkgs-wayland": "nixpkgs-wayland",
|
"nixpkgs-wayland": "nixpkgs-wayland",
|
||||||
"nixseparatedebuginfod": "nixseparatedebuginfod",
|
"nixseparatedebuginfod": "nixseparatedebuginfod",
|
||||||
"pre-commit-hooks": "pre-commit-hooks",
|
"pre-commit-hooks": "pre-commit-hooks",
|
||||||
|
"stylix": "stylix",
|
||||||
"systems": "systems_4",
|
"systems": "systems_4",
|
||||||
"templates": "templates"
|
"templates": "templates"
|
||||||
}
|
}
|
||||||
|
@ -819,6 +907,27 @@
|
||||||
"type": "github"
|
"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": {
|
"systems": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1681028828,
|
"lastModified": 1681028828,
|
||||||
|
|
|
@ -71,12 +71,16 @@
|
||||||
url = "github:nix-community/nix-index-database";
|
url = "github:nix-community/nix-index-database";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
nixseparatedebuginfod.url = "github:symphorien/nixseparatedebuginfod";
|
nixseparatedebuginfod.url = "github:symphorien/nixseparatedebuginfod";
|
||||||
|
|
||||||
lanzaboote = {
|
lanzaboote = {
|
||||||
url = "github:nix-community/lanzaboote/v0.3.0";
|
url = "github:nix-community/lanzaboote/v0.3.0";
|
||||||
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
stylix.url = "github:danth/stylix";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = {
|
outputs = {
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
|
|
||||||
../../modules/config
|
../../modules/config
|
||||||
../../modules/dev
|
../../modules/dev
|
||||||
|
../../modules/graphical
|
||||||
|
|
||||||
../../modules/hardware/bluetooth.nix
|
../../modules/hardware/bluetooth.nix
|
||||||
../../modules/hardware/intel.nix
|
../../modules/hardware/intel.nix
|
||||||
|
@ -24,4 +25,7 @@
|
||||||
|
|
||||||
../../users/patrick
|
../../users/patrick
|
||||||
];
|
];
|
||||||
|
stylix.fonts.sizes = {
|
||||||
|
terminal = 10;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
imports = [
|
imports = [
|
||||||
./boot.nix
|
./boot.nix
|
||||||
./efi.nix
|
./efi.nix
|
||||||
./fonts.nix
|
|
||||||
./home-manager.nix
|
./home-manager.nix
|
||||||
./inputrc.nix
|
./inputrc.nix
|
||||||
./issue.nix
|
./issue.nix
|
||||||
|
|
|
@ -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
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
18
modules/graphical/default.nix
Normal file
18
modules/graphical/default.nix
Normal 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";
|
||||||
|
};
|
||||||
|
}
|
|
@ -3,12 +3,6 @@
|
||||||
enableGhostscriptFonts = false;
|
enableGhostscriptFonts = false;
|
||||||
fontDir.enable = false;
|
fontDir.enable = false;
|
||||||
fontconfig = {
|
fontconfig = {
|
||||||
defaultFonts = {
|
|
||||||
sansSerif = ["IBM Plex Sans"];
|
|
||||||
serif = ["IBM Plex Sans"];
|
|
||||||
monospace = ["FiraCode Nerd Font"];
|
|
||||||
emoji = ["Noto Color Emoji"];
|
|
||||||
};
|
|
||||||
localConf = ''
|
localConf = ''
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||||
|
@ -49,4 +43,27 @@
|
||||||
noto-fonts-extra
|
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";
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,11 +18,6 @@ in {
|
||||||
options.programs.streamdeck-ui = {
|
options.programs.streamdeck-ui = {
|
||||||
enable = mkEnableOption "streamdeck-ui";
|
enable = mkEnableOption "streamdeck-ui";
|
||||||
package = mkPackageOption pkgs "streamdeck-ui" {};
|
package = mkPackageOption pkgs "streamdeck-ui" {};
|
||||||
autoStart = mkOption {
|
|
||||||
default = true;
|
|
||||||
type = types.bool;
|
|
||||||
description = "Whether streamdeck-ui should be started automatically";
|
|
||||||
};
|
|
||||||
settings = mkOption {
|
settings = mkOption {
|
||||||
default = {};
|
default = {};
|
||||||
type = types.submodule {freeformType = settingsFormat.type;};
|
type = types.submodule {freeformType = settingsFormat.type;};
|
||||||
|
@ -31,6 +26,7 @@ in {
|
||||||
};
|
};
|
||||||
config = mkIf config.programs.streamdeck-ui.enable {
|
config = mkIf config.programs.streamdeck-ui.enable {
|
||||||
home.packages = [pkgs.streamdeck-ui];
|
home.packages = [pkgs.streamdeck-ui];
|
||||||
|
home.sessionVariables.STREAMDECK_UI_CONFIG = "${config.xdg.configHome}/streamdeck-ui/config.json";
|
||||||
xdg.configFile.streamdeck-ui = {
|
xdg.configFile.streamdeck-ui = {
|
||||||
target = "streamdeck-ui/config.json";
|
target = "streamdeck-ui/config.json";
|
||||||
source = settingsFormat.generate "config.json" {
|
source = settingsFormat.generate "config.json" {
|
||||||
|
@ -38,20 +34,6 @@ in {
|
||||||
state = config.programs.streamdeck-ui.settings;
|
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"];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
|
stylix.targets.i3.enable = true;
|
||||||
xsession.windowManager.i3 = {
|
xsession.windowManager.i3 = {
|
||||||
enable = true;
|
enable = true;
|
||||||
config =
|
config =
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
|
stylix.targets.rofi.enable = true;
|
||||||
programs.rofi = {
|
programs.rofi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
theme = "DarkBlue";
|
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
matching = "fuzzy";
|
matching = "fuzzy";
|
||||||
dpi = 1;
|
dpi = 1;
|
||||||
|
|
|
@ -21,5 +21,6 @@ if command -v dbus-update-activation-environment >/dev/null 2>&1; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
autorandr -c
|
autorandr -c
|
||||||
|
streamdeck --no-ui
|
||||||
systemctl --user start set-wallpaper.service
|
systemctl --user start set-wallpaper.service
|
||||||
exec i3
|
exec i3
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
config,
|
config,
|
||||||
|
lib,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
home.pointerCursor = {
|
home.pointerCursor = {
|
||||||
|
@ -11,6 +12,16 @@
|
||||||
size = 18;
|
size = 18;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
stylix = {
|
||||||
|
targets = {
|
||||||
|
gtk.enable = true;
|
||||||
|
bat.enable = true;
|
||||||
|
dunst.enable = true;
|
||||||
|
zathura.enable = true;
|
||||||
|
xresources.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
xresources.properties = {
|
xresources.properties = {
|
||||||
"Xft.hinting" = true;
|
"Xft.hinting" = true;
|
||||||
"Xft.antialias" = true;
|
"Xft.antialias" = true;
|
||||||
|
@ -38,7 +49,7 @@
|
||||||
package = pkgs.vimix-icon-theme;
|
package = pkgs.vimix-icon-theme;
|
||||||
};
|
};
|
||||||
|
|
||||||
theme = {
|
theme = lib.mkForce {
|
||||||
name = "Orchis-purple-solid-black";
|
name = "Orchis-purple-solid-black";
|
||||||
package = pkgs.orchis-theme;
|
package = pkgs.orchis-theme;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
|
stylix.targets.fuzzel.enable = true;
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
(writeShellScriptBin "fuzzel" ''
|
(writeShellScriptBin "fuzzel" ''
|
||||||
${fuzzel}/bin/fuzzel --background-color=000000ff
|
${fuzzel}/bin/fuzzel --background-color=000000ff
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
home.packages = [
|
home.packages = [
|
||||||
pkgs.wdisplays
|
pkgs.wdisplays
|
||||||
];
|
];
|
||||||
|
stylix.targets.sway.enable = true;
|
||||||
wayland.windowManager.sway = {
|
wayland.windowManager.sway = {
|
||||||
enable = true;
|
enable = true;
|
||||||
config =
|
config =
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
{pkgs, ...}: {
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
stylix.targets.kitty.enable = true;
|
||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.kitty.overrideAttrs (_finalAttrs: _prevAttrs: {
|
package = pkgs.kitty.overrideAttrs (_finalAttrs: _prevAttrs: {
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
});
|
});
|
||||||
font = {
|
|
||||||
package = pkgs.nerdfonts;
|
|
||||||
name = "FiraCode Nerd Font";
|
|
||||||
size = 10;
|
|
||||||
};
|
|
||||||
settings = {
|
settings = {
|
||||||
# Use xterm-256color because copying terminfo-kitty is painful.
|
# Use xterm-256color because copying terminfo-kitty is painful.
|
||||||
term = "xterm-256color";
|
term = "xterm-256color";
|
||||||
|
|
|
@ -5,8 +5,8 @@
|
||||||
}: {
|
}: {
|
||||||
# enable nixos wide graphical config
|
# enable nixos wide graphical config
|
||||||
imports = [
|
imports = [
|
||||||
../../modules/graphical/xserver.nix
|
../../modules/optional/xserver.nix
|
||||||
../../modules/graphical/steam.nix
|
../../modules/optional/steam.nix
|
||||||
./impermanence.nix
|
./impermanence.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue