From c8fad324ad8cbe650c4c1df2d5d54881663762c1 Mon Sep 17 00:00:00 2001 From: lucy Date: Thu, 11 Dec 2025 00:20:50 +0100 Subject: [PATCH] waybar style and apple fonts woop woop and other small things that i forgor --- configuration.nix | 31 ++++++- flake.lock | 185 +++++++++++++++++++++++++++++++++++----- flake.nix | 5 +- home/home.nix | 22 ++++- home/nixvim/coding.nix | 6 ++ home/nixvim/keymaps.nix | 5 ++ home/nixvim/nixvim.nix | 1 + home/nixvim/plugins.nix | 38 ++++++++- home/waybar.nix | 111 ++++++++++++------------ stylix.nix | 7 +- 10 files changed, 318 insertions(+), 93 deletions(-) diff --git a/configuration.nix b/configuration.nix index d266e78..c7479de 100755 --- a/configuration.nix +++ b/configuration.nix @@ -2,7 +2,12 @@ # your system. Help is available in the configuration.nix(5) man page # and in the NixOS manual (accessible by running ‘nixos-help’). -{ config, pkgs, ... }: +{ + config, + pkgs, + apple-fonts, + ... +}: { imports = [ @@ -15,8 +20,16 @@ noto-fonts-cjk-sans noto-fonts nerd-fonts._0xproto - ]; + apple-fonts.packages.${pkgs.system}.sf-pro-nerd + # You can also use the nerd-fonts patched versions + # apple-fonts.packages.${pkgs.system}.san-francisco-nerdfont + # apple-fonts.packages.${pkgs.system}.sf-mono-nerdfont + + # Add other system fonts you want + # noto-fonts + # dejavu_fonts + ]; }; programs.hyprland.enable = true; services.displayManager.gdm.enable = true; @@ -55,7 +68,14 @@ }; hardware.graphics.enable = true; - nix.extraOptions = "experimental-features = nix-command flakes"; + nix = { + extraOptions = "experimental-features = nix-command flakes"; + optimise.automatic = true; + optimise.dates = [ "12:00" ]; + gc = { + automatic = true; + }; + }; # Bootloader. boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; @@ -113,9 +133,11 @@ console.keyMap = "de-latin1-nodeadkeys"; # Define a user account. Don't forget to set a password with ‘passwd’. + programs.zsh.enable = true; users.users.lucy = { isNormalUser = true; description = "lucy"; + shell = pkgs.zsh; extraGroups = [ "networkmanager" "wheel" @@ -138,6 +160,9 @@ gcc blueman zzz + quickshell + kdePackages.qtdeclarative + kdePackages.qtbase ]; programs.steam = { diff --git a/flake.lock b/flake.lock index e142131..f0d643b 100755 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,31 @@ { "nodes": { + "apple-fonts": { + "inputs": { + "nixpkgs": "nixpkgs", + "ny": "ny", + "sf-arabic": "sf-arabic", + "sf-armenian": "sf-armenian", + "sf-compact": "sf-compact", + "sf-georgian": "sf-georgian", + "sf-hebrew": "sf-hebrew", + "sf-mono": "sf-mono", + "sf-pro": "sf-pro" + }, + "locked": { + "lastModified": 1758228441, + "narHash": "sha256-3mA9oFuhJ1EHyhPd17g/EuJi4jDYPGhyxkEitdh3Kmc=", + "owner": "Lyndeno", + "repo": "apple-fonts.nix", + "rev": "aba9944f6606a69ebedf7bfb723316139eec3f72", + "type": "github" + }, + "original": { + "owner": "Lyndeno", + "repo": "apple-fonts.nix", + "type": "github" + } + }, "base16": { "inputs": { "fromYaml": "fromYaml" @@ -181,7 +207,7 @@ }, "home-manager": { "inputs": { - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs_2" }, "locked": { "lastModified": 1764912896, @@ -226,6 +252,22 @@ } }, "nixpkgs": { + "locked": { + "lastModified": 1757745802, + "narHash": "sha256-hLEO2TPj55KcUFUU1vgtHE9UEIOjRcH/4QbmfHNF820=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "c23193b943c6c689d70ee98ce3128239ed9e32d1", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { "locked": { "lastModified": 1764517877, "narHash": "sha256-pp3uT4hHijIC8JUK5MEqeAWmParJrgBVzHLNfJDZxg4=", @@ -241,7 +283,7 @@ "type": "github" } }, - "nixpkgs_2": { + "nixpkgs_3": { "locked": { "lastModified": 1764667669, "narHash": "sha256-7WUCZfmqLAssbDqwg9cUDAXrSoXN79eEEq17qhTNM/Y=", @@ -257,7 +299,7 @@ "type": "github" } }, - "nixpkgs_3": { + "nixpkgs_4": { "locked": { "lastModified": 1764794580, "narHash": "sha256-UMVihg0OQ980YqmOAPz+zkuCEb9hpE5Xj2v+ZGNjQ+M=", @@ -273,22 +315,6 @@ "type": "github" } }, - "nixpkgs_4": { - "locked": { - "lastModified": 1764517877, - "narHash": "sha256-pp3uT4hHijIC8JUK5MEqeAWmParJrgBVzHLNfJDZxg4=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "2d293cbfa5a793b4c50d17c05ef9e385b90edf6c", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs_5": { "locked": { "lastModified": 1764517877, @@ -305,10 +331,26 @@ "type": "github" } }, + "nixpkgs_6": { + "locked": { + "lastModified": 1764517877, + "narHash": "sha256-pp3uT4hHijIC8JUK5MEqeAWmParJrgBVzHLNfJDZxg4=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "2d293cbfa5a793b4c50d17c05ef9e385b90edf6c", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixvim": { "inputs": { "flake-parts": "flake-parts", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_4", "nuschtosSearch": "nuschtosSearch", "systems": "systems_2" }, @@ -374,18 +416,115 @@ "type": "github" } }, + "ny": { + "flake": false, + "locked": { + "narHash": "sha256-3257NAH4qlan2YHVLpNRy7x8IJqR2pal3OzFo/ykqXs=", + "type": "file", + "url": "https://devimages-cdn.apple.com/design/resources/download/NY.dmg" + }, + "original": { + "type": "file", + "url": "https://devimages-cdn.apple.com/design/resources/download/NY.dmg" + } + }, "root": { "inputs": { + "apple-fonts": "apple-fonts", "home-manager": "home-manager", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs_3", "nixvim": "nixvim", "spicetify-nix": "spicetify-nix", "stylix": "stylix" } }, + "sf-arabic": { + "flake": false, + "locked": { + "narHash": "sha256-/0gjRimqvZyE60xYxxPdlU+7Q2LJnnvtbmwOP0YmS9U=", + "type": "file", + "url": "https://devimages-cdn.apple.com/design/resources/download/SF-Arabic.dmg" + }, + "original": { + "type": "file", + "url": "https://devimages-cdn.apple.com/design/resources/download/SF-Arabic.dmg" + } + }, + "sf-armenian": { + "flake": false, + "locked": { + "narHash": "sha256-rRoDkbNMYkzOHZmQm96Zv80TZvRlAeoxkv4pMHP5nUg=", + "type": "file", + "url": "https://devimages-cdn.apple.com/design/resources/download/SF-Armenian.dmg" + }, + "original": { + "type": "file", + "url": "https://devimages-cdn.apple.com/design/resources/download/SF-Armenian.dmg" + } + }, + "sf-compact": { + "flake": false, + "locked": { + "narHash": "sha256-WeqT80cdK/XzTLSaJs5DHodzxoeAzwL/xTgdq0YwQbM=", + "type": "file", + "url": "https://devimages-cdn.apple.com/design/resources/download/SF-Compact.dmg" + }, + "original": { + "type": "file", + "url": "https://devimages-cdn.apple.com/design/resources/download/SF-Compact.dmg" + } + }, + "sf-georgian": { + "flake": false, + "locked": { + "narHash": "sha256-IevVNOC28IiR45YfI3PsZzXLMRxuB5u7UiE53Zn6tRU=", + "type": "file", + "url": "https://devimages-cdn.apple.com/design/resources/download/SF-Georgian.dmg" + }, + "original": { + "type": "file", + "url": "https://devimages-cdn.apple.com/design/resources/download/SF-Georgian.dmg" + } + }, + "sf-hebrew": { + "flake": false, + "locked": { + "narHash": "sha256-Dw84kYwMpCtKKKqm8cZcQ9TZ7GayU5MO7W0LJw0Rcwk=", + "type": "file", + "url": "https://devimages-cdn.apple.com/design/resources/download/SF-Hebrew.dmg" + }, + "original": { + "type": "file", + "url": "https://devimages-cdn.apple.com/design/resources/download/SF-Hebrew.dmg" + } + }, + "sf-mono": { + "flake": false, + "locked": { + "narHash": "sha256-ICdHRFdNL7PM/fXJUzS7LgZxZiqcyIuCMHLze4En4vg=", + "type": "file", + "url": "https://devimages-cdn.apple.com/design/resources/download/SF-Mono.dmg" + }, + "original": { + "type": "file", + "url": "https://devimages-cdn.apple.com/design/resources/download/SF-Mono.dmg" + } + }, + "sf-pro": { + "flake": false, + "locked": { + "narHash": "sha256-vprahHpCUf9O8RualBrEuLEfuLfzI/2d8AQmwlCGPPk=", + "type": "file", + "url": "https://devimages-cdn.apple.com/design/resources/download/SF-Pro.dmg" + }, + "original": { + "type": "file", + "url": "https://devimages-cdn.apple.com/design/resources/download/SF-Pro.dmg" + } + }, "spicetify-nix": { "inputs": { - "nixpkgs": "nixpkgs_4", + "nixpkgs": "nixpkgs_5", "systems": "systems_3" }, "locked": { @@ -411,7 +550,7 @@ "firefox-gnome-theme": "firefox-gnome-theme", "flake-parts": "flake-parts_2", "gnome-shell": "gnome-shell", - "nixpkgs": "nixpkgs_5", + "nixpkgs": "nixpkgs_6", "nur": "nur", "systems": "systems_4", "tinted-foot": "tinted-foot", diff --git a/flake.nix b/flake.nix index 3beae8c..aba7a5c 100755 --- a/flake.nix +++ b/flake.nix @@ -5,6 +5,8 @@ spicetify-nix.url = "github:Gerg-L/spicetify-nix"; nixvim.url = "github:nix-community/nixvim"; home-manager.url = "github:nix-community/home-manager"; + apple-fonts.url = "github:Lyndeno/apple-fonts.nix"; + }; outputs = @@ -15,6 +17,7 @@ spicetify-nix, nixvim, home-manager, + apple-fonts, ... }: let @@ -36,7 +39,6 @@ home-manager.useGlobalPkgs = true; home-manager.users.lucy = { imports = [ - #stylix.homeModules.stylix nixvim.homeModules.nixvim spicetify-nix.homeManagerModules.spicetify ./home/home.nix @@ -46,6 +48,7 @@ } ]; + specialArgs = { inherit apple-fonts; }; }; homeConfigurations.lucy = home-manager.lib.homeManagerConfiguration { diff --git a/home/home.nix b/home/home.nix index 6dcaf8d..9e119f8 100755 --- a/home/home.nix +++ b/home/home.nix @@ -17,10 +17,24 @@ # You should not change this value, even if you update Home Manager. If you do # want to update the value, then make sure to first check the Home Manager # release notes. - programs.bash.enable = true; - programs.bash.bashrcExtra = '' - "fastfetch" - ''; + + programs.zsh = { + enable = true; + enableCompletion = true; + autosuggestion.enable = true; + syntaxHighlighting.enable = true; + shellAliases = { + nsr = "sudo nixos-rebuild switch"; + ncb = "sudo nix-collect-garbage -d"; + }; + oh-my-zsh = { + enable = true; + plugins = [ + "git" + ]; + theme = "gentoo"; + }; + }; home.stateVersion = "24.05"; # Please read the comment before changing. home.shell.enableShellIntegration = true; diff --git a/home/nixvim/coding.nix b/home/nixvim/coding.nix index 8349918..0674f6d 100755 --- a/home/nixvim/coding.nix +++ b/home/nixvim/coding.nix @@ -12,6 +12,12 @@ servers = { bashls.enable = true; + qmlls.enable = true; + qmlls.package = null; + qmlls.cmd = [ + "qmlls" + "-E" + ]; clangd.package = null; clangd.enable = true; clangd.cmd = [ diff --git a/home/nixvim/keymaps.nix b/home/nixvim/keymaps.nix index d186d51..d07a277 100755 --- a/home/nixvim/keymaps.nix +++ b/home/nixvim/keymaps.nix @@ -71,5 +71,10 @@ mode = "n"; action = "lua vim.lsp.buf.format()"; } + { + key = "t"; + mode = "n"; + action = "terminal"; + } ]; } diff --git a/home/nixvim/nixvim.nix b/home/nixvim/nixvim.nix index 63d89eb..6a1c0f8 100755 --- a/home/nixvim/nixvim.nix +++ b/home/nixvim/nixvim.nix @@ -25,6 +25,7 @@ shiftwidth = 4; termguicolors = true; cursorline = true; + laststatus = 0; }; }; } diff --git a/home/nixvim/plugins.nix b/home/nixvim/plugins.nix index 020c439..8996258 100755 --- a/home/nixvim/plugins.nix +++ b/home/nixvim/plugins.nix @@ -1,3 +1,4 @@ +{ lib, ... }: { programs.nixvim.plugins = { @@ -12,6 +13,41 @@ ignore_install = [ "ipkg" ]; }; }; + render-markdown = { + enable = true; + settings = { + bullet = { + icons = [ + "◆ " + "• " + "• " + ]; + right_pad = 1; + }; + code = { + above = " "; + below = " "; + border = "thick"; + language_pad = 2; + left_pad = 2; + position = "right"; + right_pad = 2; + sign = true; + width = "block"; + }; + heading = { + border = true; + position = "inline"; + sign = false; + width = "full"; + }; + render_modes = true; + signs = { + enabled = true; + }; + }; + + }; alpha = { enable = true; settings.layout = [ @@ -102,7 +138,6 @@ hl = "Keyword"; }; } - ]; opts = { position = "center"; @@ -139,6 +174,7 @@ enable = true; settings = { options = { + globalstatus = true; section_separators = { left = ""; right = ""; diff --git a/home/waybar.nix b/home/waybar.nix index 5e4c895..33659ce 100755 --- a/home/waybar.nix +++ b/home/waybar.nix @@ -1,71 +1,72 @@ -{ config, ... }: +{ config, lib, ... }: { programs.waybar = { enable = true; systemd.enable = true; style = '' - * { - font-family: "0xProto Nerd Font Propo"; - font-size: 14px; - font-weight: 600; - } - - window#waybar { - background-color: @base00; - - } + * { + font-size: 14px; + font-weight: 600; + } + + window#waybar { + background-color: transparent; + border-radius: ${builtins.toString config.wayland.windowManager.hyprland.settings.decoration.rounding}; + } - #workspaces button { - all: unset; - padding: 1px 6px; - margin: 2px; - color: alpha(@base05, 0.5); - border-radius: 1em; - } + #workspaces button { + all: unset; + padding: 1px 6px; + margin: 2px; + color: alpha(@base05, 0.5); + border-radius: 1em; + } - #workspaces button.active { - color: @base05; - } + #workspaces button.active { + color: @base05; + } - #workspaces { - margin: 0px; - padding: 2px; - background-color: @base00; - border-radius: 1em; - } - #mpris, - #backlight, - #tray, - #pulseaudio, - #window, - #upower, - #clock, - #power-profiles-daemon { - margin: 0px; - padding: 2px 2px; - border-radius: 1em; - background-color: @base00; - color: @base05; - } + #workspaces { + margin: 0px; + padding: 2px; + background-color: @base00; + border-radius: 1em; + } + #mpris, + #backlight, + #tray, + #pulseaudio, + #window, + #upower, + #clock, + #power-profiles-daemon { + padding: 2px 10px; + background-color: @base00; + color: @base05; + border-radius: ${builtins.toString config.wayland.windowManager.hyprland.settings.decoration.rounding}; + } - #tray { - padding: 0px 8px 0px 4px; - } + #tray { + padding: 0px 8px; + } - window#waybar.empty #window { - background: none; - } - #custom-sep { - color: alpha(@base05, 0.5); - } + window#waybar.empty #window { + background: none; + } + #custom-sep { + color: alpha(@base05, 0.5); + } ''; settings = { mainBar = { + margin-top = config.wayland.windowManager.hyprland.settings.general.gaps_out; + margin-left = config.wayland.windowManager.hyprland.settings.general.gaps_out; + margin-right = config.wayland.windowManager.hyprland.settings.general.gaps_out; layer = "top"; position = "top"; - spacing = 0; + spacing = 4; modules-left = [ "hyprland/workspaces" "hyprland/window" @@ -73,15 +74,10 @@ ]; modules-right = [ "backlight" - "custom/sep" "pulseaudio" - "custom/sep" "upower" - "custom/sep" "power-profiles-daemon" - "custom/sep" "clock" - "custom/sep" "tray" ]; "custom/sep" = { @@ -98,8 +94,7 @@ }; "tray" = { - spacing = 10; - icon-size = 16; + icon-size = 14; }; "hyprland/workspaces" = { diff --git a/stylix.nix b/stylix.nix index f4cf214..ef827f6 100755 --- a/stylix.nix +++ b/stylix.nix @@ -2,6 +2,7 @@ config, lib, pkgs, + apple-fonts, ... }: { @@ -24,7 +25,7 @@ stylix = { enable = true; autoEnable = true; - base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-material-dark-hard.yaml"; + base16Scheme = "${pkgs.base16-schemes}/share/themes/rose-pine.yaml"; polarity = "dark"; image = ./home/wallpaper.png; targets = { @@ -45,8 +46,8 @@ name = config.stylix.fonts.monospace.name; }; monospace = { - package = pkgs.nerd-fonts._0xproto; - name = "0xProto Nerd Font Propo"; + package = apple-fonts.packages.${pkgs.system}.sf-mono-nerd; + name = "SFMono Nerd Font"; }; emoji = {