Compare commits

..

No commits in common. "master" and "main" have entirely different histories.
master ... main

16 changed files with 447 additions and 520 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
hardware-configuration.nix

View File

@ -1,3 +1,7 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{
config,
pkgs,
@ -7,6 +11,7 @@
{
imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix
./stylix.nix
];
fonts = {
@ -14,14 +19,11 @@
noto-fonts-cjk-sans
noto-fonts
nerd-fonts._0xproto
material-symbols
];
};
services.displayManager.gdm.enable = true;
programs.hyprland.enable = true;
nixpkgs.config.permittedInsecurePackages = [
"ventoy-1.1.10"
];
services.desktopManager.gnome.enable = true;
boot = {
@ -39,6 +41,9 @@
"udev.log_priority=3"
"rd.systemd.show_status=auto"
];
# Hide the OS choice for bootloaders.
# It's still possible to open the bootloader list by pressing any key
# It will just not appear on screen unless a key is pressed
loader.timeout = 0;
};
@ -54,37 +59,20 @@
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
security.doas.enable = true;
security.sudo.enable = false;
security.doas.extraRules = [
{
keepEnv = true;
persist = true; # Optional, only require password verification a single time
}
];
security.sudo.enable = true;
# Use latest kernel.
boot.kernelPackages = pkgs.linuxPackages_latest;
services.power-profiles-daemon.enable = false;
services.power-profiles-daemon.enable = true;
services.upower.enable = true;
services.tlp = {
enable = true;
settings = {
CPU_SCALING_GOVERNOR_ON_AC = "balanced";
CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
CPU_ENERGY_PERF_POLICY_ON_AC = "balanced";
CPU_MIN_PERF_ON_AC = 0;
CPU_MAX_PERF_ON_AC = 100;
CPU_MIN_PERF_ON_BAT = 0;
CPU_MAX_PERF_ON_BAT = 20;
START_CHARGE_THRESH_BAT0 = 40; # 40 and below it starts to charge
STOP_CHARGE_THRESH_BAT0 = 80; # 80 and above it stops charging
PCIE_ASPM_ON_BAT = "powersupersave";
PCIE_ASPM_ON_AC = "default";
};
};
services.auto-cpufreq.enable = true;
networking.hostName = "wired"; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Sound
security.rtkit.enable = true;
services.pipewire = {
enable = true;
@ -93,16 +81,37 @@
};
# Enable networking
networking.networkmanager = {
enable = true;
networking.networkmanager.enable = true;
# Home manager angy grrr
# Set your time zone.
time.timeZone = "Europe/Berlin";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "de_DE.UTF-8";
LC_IDENTIFICATION = "de_DE.UTF-8";
LC_MEASUREMENT = "de_DE.UTF-8";
LC_MONETARY = "de_DE.UTF-8";
LC_NAME = "de_DE.UTF-8";
LC_NUMERIC = "de_DE.UTF-8";
LC_PAPER = "de_DE.UTF-8";
LC_TELEPHONE = "de_DE.UTF-8";
LC_TIME = "de_DE.UTF-8";
};
time.timeZone = "Europe/Berlin";
i18n.defaultLocale = "en_US.UTF-8";
# Configure keymap in X11
services.xserver.xkb = {
layout = "us";
};
# Configure console keymap
console.keyMap = "us";
# Define a user account. Don't forget to set a password with passwd.
programs.zsh.enable = true;
users.users.lucy = {
isNormalUser = true;
@ -126,12 +135,6 @@
environment.systemPackages = with pkgs; [
openssl
fastfetch
quickshell
flashrom
usbutils
clang-tools
clang
iw
];
programs.steam = {
@ -149,6 +152,32 @@
Restart = "on-failure";
};
};
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;
# programs.gnupg.agent = {
# enable = true;
# enableSSHSupport = true;
# };
# List services that you want to enable:
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "25.05"; # Did you read the comment?
}

128
flake.lock generated Executable file → Normal file
View File

@ -68,21 +68,6 @@
"type": "github"
}
},
"crane": {
"locked": {
"lastModified": 1765145449,
"narHash": "sha256-aBVHGWWRzSpfL++LubA0CwOOQ64WNLegrYHwsVuVN7A=",
"owner": "ipetkov",
"repo": "crane",
"rev": "69f538cdce5955fcd47abfed4395dc6d5194c1c5",
"type": "github"
},
"original": {
"owner": "ipetkov",
"repo": "crane",
"type": "github"
}
},
"firefox-gnome-theme": {
"flake": false,
"locked": {
@ -99,22 +84,6 @@
"type": "github"
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1761588595,
"narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
@ -173,28 +142,6 @@
"type": "github"
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
"lanzaboote",
"pre-commit",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"gnome-shell": {
"flake": false,
"locked": {
@ -232,30 +179,6 @@
"type": "github"
}
},
"lanzaboote": {
"inputs": {
"crane": "crane",
"nixpkgs": [
"nixpkgs"
],
"pre-commit": "pre-commit",
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1765382359,
"narHash": "sha256-RJmgVDzjRI18BWVogG6wpsl1UCuV6ui8qr4DJ1LfWZ8=",
"owner": "nix-community",
"repo": "lanzaboote",
"rev": "e8c096ade12ec9130ff931b0f0e25d2f1bc63607",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "v1.0.0",
"repo": "lanzaboote",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1770841267,
@ -274,11 +197,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1772773019,
"narHash": "sha256-E1bxHxNKfDoQUuvriG71+f+s/NT0qWkImXsYZNFFfCs=",
"lastModified": 1772433332,
"narHash": "sha256-izhTDFKsg6KeVBxJS9EblGeQ8y+O8eCa6RcW874vxEc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "aca4d95fce4914b3892661bcb80b8087293536c6",
"rev": "cf59864ef8aa2e178cccedbe2c178185b0365705",
"type": "github"
},
"original": {
@ -378,60 +301,15 @@
"type": "github"
}
},
"pre-commit": {
"inputs": {
"flake-compat": "flake-compat",
"gitignore": "gitignore",
"nixpkgs": [
"lanzaboote",
"nixpkgs"
]
},
"locked": {
"lastModified": 1765016596,
"narHash": "sha256-rhSqPNxDVow7OQKi4qS5H8Au0P4S3AYbawBSmJNUtBQ=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"rev": "548fc44fca28a5e81c5d6b846e555e6b9c2a5a3c",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"type": "github"
}
},
"root": {
"inputs": {
"home-manager": "home-manager",
"lanzaboote": "lanzaboote",
"nixpkgs": "nixpkgs_2",
"nixvim": "nixvim",
"spicetify-nix": "spicetify-nix",
"stylix": "stylix"
}
},
"rust-overlay": {
"inputs": {
"nixpkgs": [
"lanzaboote",
"nixpkgs"
]
},
"locked": {
"lastModified": 1765075567,
"narHash": "sha256-KFDCdQcHJ0hE3Nt5Gm5enRIhmtEifAjpxgUQ3mzSJpA=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "769156779b41e8787a46ca3d7d76443aaf68be6f",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
}
},
"spicetify-nix": {
"inputs": {
"nixpkgs": "nixpkgs_4",

View File

@ -6,102 +6,28 @@
nixvim.url = "github:nix-community/nixvim";
home-manager.url = "github:nix-community/home-manager";
lanzaboote = {
url = "github:nix-community/lanzaboote/v1.0.0";
# Optional but recommended to limit the size of your system closure.
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs =
{
self,
nixpkgs,
stylix,
spicetify-nix,
nixvim,
home-manager,
lanzaboote,
...
}@inputs:
}:
let
system = "x86_64-linux";
pkgs = import nixpkgs { inherit system; };
in
{
nixosConfigurations.cyberia = nixpkgs.lib.nixosSystem {
inherit system;
modules = [
stylix.nixosModules.stylix
home-manager.nixosModules.home-manager
lanzaboote.nixosModules.lanzaboote
(
{
pkgs,
lib,
config,
...
}:
{
imports = [
./hardware-configuration-cyberia.nix
./stylix.nix
];
networking.hostName = "cyberia";
environment.systemPackages = [
pkgs.sbctl
];
services.xserver.videoDrivers = [ "nvidia" ];
hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.stable;
hardware.nvidia.modesetting.enable = true;
hardware.nvidia.open = true;
# Lanzaboote currently replaces the systemd-boot module.
# This setting is usually set to true in configuration.nix
# generated at installation time. So we force it to false
# for now.
boot.loader.systemd-boot.enable = lib.mkForce false;
boot.lanzaboote = {
enable = true;
pkiBundle = "/var/lib/sbctl";
};
}
)
./configuration.nix
{
home-manager.useUserPackages = true;
home-manager.useGlobalPkgs = true;
home-manager.users.lucy = {
imports = [
nixvim.homeModules.nixvim
spicetify-nix.homeManagerModules.spicetify
./home/home.nix
];
};
}
];
};
nixosConfigurations.wired = nixpkgs.lib.nixosSystem {
inherit system;
modules = [
stylix.nixosModules.stylix
home-manager.nixosModules.home-manager
{
networking.hostName = "wired";
imports = [
./hardware-configuration-wired.nix
./stylix.nix
];
}
./configuration.nix
{
@ -121,8 +47,7 @@
};
homeConfigurations.lucy = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.${system};
extraSpecialArgs = { inherit inputs; };
inherit pkgs;
modules = [
stylix.homeModules.stylix
nixvim.homeModules.nixvim

View File

@ -1,31 +0,0 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "nvme" "ahci" "xhci_pci" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/f1ed7012-39d5-4cac-8603-16767a3a3449";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/E513-A53F";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices = [ ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View File

@ -1,33 +0,0 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "sdhci_pci" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/fbea1f31-4ad2-42f7-857a-15f7a1250793";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/9B5B-14D1";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/440b6cb1-02bf-4bda-998c-575589ec415a"; }
];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View File

@ -1,9 +1,4 @@
{
config,
pkgs,
lib,
...
}:
{ config, pkgs, ... }:
{
imports = [
./hyprland.nix
@ -22,16 +17,6 @@
# 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.
home.pointerCursor = {
gtk.enable = true;
x11.enable = true;
package = pkgs.runCommand "teto-cursors" { } ''
mkdir -p $out/share/icons
ln -s /home/lucy/.icons/tetoW/ $out/share/icons/
'';
name = "tetoW";
size = 48;
};
programs.zsh = {
enable = true;
@ -50,15 +35,11 @@
theme = "gentoo";
};
};
home.activation = {
reloadQs = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
$DRY_RUN_CMD ${pkgs.quickshell}/bin/qs ipc call colors reload
'';
};
home.stateVersion = "24.05"; # Please read the comment before changing.
home.shell.enableShellIntegration = true;
home.shellAliases = {
nrs = "doas nixos-rebuild switch --flake /home/lucy/nixos/";
nrs = "sudo nixos-rebuild switch --flake /home/lucy/nixos-conf/";
};
}

View File

@ -3,20 +3,16 @@
wayland.windowManager.hyprland.enable = true;
wayland.windowManager.hyprland.settings = {
"$mod" = "SUPER";
monitor = [
"DP-5,highrr,auto-left,1,bitdepth,10"
"HDMI-A-3,preffered,auto-right,1"
"eDP-1,preffered,auto,1,bitdepth,10,cm,auto"
];
"monitor" = ",preferred,auto,1";
general = {
border_size = 4;
border_size = 2;
gaps_in = 5;
gaps_out = 10;
layout = "dwindle";
};
decoration = {
rounding = 24;
rounding = 15;
blur = {
enabled = true;
size = 3;
@ -33,30 +29,32 @@
bezier = [
"smoothIn, 0.25, 1, 0.5, 1"
"smoothOut, 0.25, 1, 0.5, 1"
"overshot, 0.23, 0.5, 0.36, 1.1"
"overshot, 0.4, 0.8, 0.5, 1"
"candy, 0.68, -0.6, 0.32, 1.5"
];
animation = [
"fade, 1, 6, overshot"
"fade, 1, 10, overshot"
"fadeIn, 1, 5, overshot"
"fadeOut, 1, 5, overshot"
"fadeDim, 1, 5, overshot"
"windows, 1, 3, overshot, popin 80%"
"border, 1, 6, default"
"workspaces, 1, 6, overshot, fade"
"windows, 1, 1, smoothIn, popin"
"border, 1, 10, default"
"workspaces, 1, 6, overshot, slide"
"specialWorkspace, 1, 8, smoothOut, slidevert"
];
};
input = {
kb_layout = "eu";
kb_layout = "de";
kb_options = "nodeadkeys";
sensitivity = 0.3;
accel_profile = "flat";
natural_scroll = false;
natural_scroll = true;
};
exec-once = [
"qs"
"swww-daemon"
"dunst"
];
"bind" = [
@ -106,14 +104,6 @@
"$mod SHIFT, right, movewindow, r"
"$mod SHIFT, up, movewindow, u"
"$mod SHIFT, down, movewindow, d"
"$mod, h, movefocus, l"
"$mod, l, movefocus, r"
"$mod, k, movefocus, u"
"$mod, j, movefocus, d"
"$mod SHIFT, h, movewindow, l"
"$mod SHIFT, l, movewindow, r"
"$mod SHIFT, k, movewindow, u"
"$mod SHIFT, j, movewindow, d"
"$mod, P, exec, /home/lucy/.local/bin/powermenu"
];
@ -133,5 +123,14 @@
"$mod, mouse:272, movewindow"
"alt, mouse:272, resizewindow"
];
layerrule = [
"noanim, walker"
];
windowrule = [
"float, class:^(waypaper)"
"float, class:^(Ryujinx)"
"suppressevent maximize, class:.*"
"nofocus, class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0"
];
};
}

View File

@ -12,9 +12,13 @@
servers = {
bashls.enable = true;
pyright.enable = true;
clangd.package = pkgs.clang-tools;
qmlls.enable = true;
qmlls.package = null;
qmlls.cmd = [
"qmlls"
"-E"
];
clangd.package = null;
clangd.enable = true;
clangd.cmd = [
"clangd"
@ -29,19 +33,50 @@
conform-nvim = {
enable = true;
settings = {
format_on_save = {
lspFormat = "fallback";
timeoutMs = 500;
};
formatters_by_ft = {
lua = [ "stylua" ];
nix = [ "nixfmt" ];
c = [ "clang-format" ];
cpp = [ "clang-format" ];
python = [ "black" ];
python = [ "ruff_format" ];
javascript = [ "prettier" ];
typescript = [ "prettier" ];
svelte = [ "prettier" ];
css = [ "prettier" ];
json = [ "prettier" ];
html = [ "prettier" ];
};
};
};
blink-cmp = {
cmp = {
enable = true;
autoEnableSources = true;
settings = {
sources = [
{ name = "nvim_lsp"; }
{ name = "path"; }
{ name = "buffer"; }
];
mapping = {
"<C-b>" = "cmp.mapping.scroll_docs(-4)";
"<C-f>" = "cmp.mapping.scroll_docs(4)";
"<C-Space>" = "cmp.mapping.complete()";
"<C-e>" = "cmp.mapping.abort()";
"<CR>" = "cmp.mapping.confirm({ select = true })";
"<Tab>" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})";
"<S-Tab>" = "cmp.mapping(cmp.mapping.select_prev_item(), {'i', 's'})";
};
window.completion.border = "rounded";
window.documentation.border = "rounded";
};
};
};
};
}

View File

@ -56,11 +56,6 @@
mode = "n";
action = ":BufferLineGoToBuffer last<CR>";
}
{
key = "<leader>w";
mode = "n";
action = "<cmd>bdelete!<cr>";
}
{
key = "<A-S-e>";
mode = "n";
@ -74,22 +69,12 @@
{
key = "<C-F>";
mode = "n";
action = "<cmd>lua require('conform').format({ async = true, lsp_fallback = true }) <cr>";
action = "<Cmd>lua vim.lsp.buf.format()<CR>";
}
{
key = "<leader>t";
mode = "n";
action = "<cmd>terminal<cr>";
}
{
key = "<leader>ff";
mode = "n";
action = ":lua Snacks.picker.files() <cr>";
}
{
key = "<leader>lg";
mode = "n";
action = ":lua Snacks.picker.grep() <cr>";
}
];
}

View File

@ -15,9 +15,6 @@
extraPackages = with pkgs; [
nixd
nixpkgs-fmt
stylua
black
clang
];
globals.mapleader = " ";
defaultEditor = true;

View File

@ -1,48 +1,59 @@
{ pkgs, ... }:
let
button = shortcut: text: action: {
type = "button";
val = text;
on_press.__raw = "function() vim.cmd([[${action}]]) end";
opts = {
keymap = [
"n"
shortcut
action
{
noremap = true;
silent = true;
}
];
shortcut = shortcut;
position = "center";
width = 30;
align_shortcut = "right";
hl_shortcut = "Keyword";
};
};
in
{ lib, ... }:
{
programs.nixvim.plugins = {
neocord.enable = true;
colorizer.enable = true;
nvim-autopairs.enable = true;
treesitter = {
enable = true;
highlight.enable = true;
indent.enable = true;
settings = {
install_dir.__raw = "vim.fs.joinpath(vim.fn.stdpath('data'), 'site')";
highlighting.enable = true;
auto_install = true;
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 = [
{
type = "padding";
val = 2;
val = 20;
}
{
type = "text";
@ -78,24 +89,84 @@ in
}
{
type = "group";
val = [
{
type = "button";
val = " new file ";
on_press.__raw = "function() vim.cmd[[ene]] end";
opts = {
position = "center";
hl = "Keyword";
};
}
{
type = "padding";
val = 2;
}
{
type = "button";
val = " search files ";
on_press.__raw = "function() vim.cmd[[Telescope find_files]] end";
opts = {
position = "center";
hl = "Keyword";
};
}
{
type = "padding";
val = 2;
}
{
type = "button";
val = " live grep ";
on_press.__raw = "function() vim.cmd[[Telescope live_grep]] end";
opts = {
position = "center";
hl = "Keyword";
};
}
{
type = "padding";
val = 2;
}
{
type = "button";
val = " quit neovim ";
on_press.__raw = "function() vim.cmd[[qa]] end";
opts = {
position = "center";
hl = "Keyword";
};
}
];
opts = {
position = "center";
hl = "Keyword";
};
val = [
(button "f" " Find File" "<cmd>lua Snacks.picker.files()<cr>")
(button "g" " Find Text" "<cmd>lua Snacks.picker.grep()<cr>")
(button "r" " Recent Files" "<cmd>lua Snacks.dashboard.pick('oldfiles')<cr>")
(button "q" " Quit" "<cmd>qa<cr>")
];
}
];
};
snacks = {
nvim-tree.enable = true;
telescope = {
enable = true;
settings = {
notifier.enabled = true;
picker.enabled = true;
indent.enabled = true;
pickers = {
find_files = {
find_command = [
"fd"
"--unrestricted"
"--no-ignore"
];
};
};
defaults = {
sorting_strategy = "ascending";
selection_caret = "> ";
};
};
keymaps = {
"<leader>fg" = "live_grep";
"<leader>ff" = "find_files";
};
};
@ -107,23 +178,21 @@ in
section_separators = {
left = "";
right = "";
a = "";
b = "";
c = "";
x = "";
y = "";
z = "";
};
component_separators = {
left = "";
right = "";
}; # Fixed: Added missing braces
};
sections = {
lualine_a = [ "mode" ];
lualine_b = [ "diagnostics" ];
lualine_c = [
"filename"
"branch"
"navic"
];
lualine_b = [ "branch" ];
lualine_c = [ "filename" ];
lualine_x = [
"diagnostics"
"filetype"
"lsp_status"
];
lualine_y = [ "progress" ];
lualine_z = [ "location" ];
@ -133,6 +202,5 @@ in
bufferline.enable = true;
web-devicons.enable = true;
nvim-tree.enable = true;
};
}

View File

@ -1,13 +1,14 @@
{
config,
pkgs,
inputs,
...
}:
{
home.packages = with pkgs; [
nixfmt
google-chrome
swww
waypaper
nemo
cava
pavucontrol
@ -17,21 +18,7 @@
dconf
fd
ripgrep
ani-cli
element-desktop
gnome-tweaks
btop
ventoy
playerctl
impala
(discord.override {
withOpenASAR = true; # can do this here too
withVencord = true;
})
];
programs.obsidian = {
enable = true;
};
programs.git = {
enable = true;
settings = {
@ -41,6 +28,105 @@
};
programs.spicetify.enable = true;
programs.fastfetch = {
enable = true;
settings = {
logo = {
source = "~/.config/fastfetch/logo.txt";
};
display = {
separator = " ";
};
modules = [
{
type = "title";
key = "User";
}
{
type = "custom";
text = "";
}
{
type = "os";
key = "OS";
}
{
type = "custom";
text = "";
}
{
type = "kernel";
key = "Kernel";
}
{
type = "custom";
text = "";
}
{
type = "packages";
key = "Packages";
}
{
type = "custom";
text = "";
}
{
type = "cpu";
key = "CPU";
}
{
type = "custom";
text = "";
}
{
type = "gpu";
key = "GPU";
}
{
type = "custom";
text = "";
}
{
type = "memory";
key = "Memory";
}
{
type = "custom";
text = "";
}
{
type = "disk";
key = "Disk";
}
{
type = "custom";
text = "";
}
{
type = "display";
key = "Resolution";
}
{
type = "custom";
text = "";
}
{
type = "shell";
key = "Shell";
}
];
};
};
programs.foot = {
enable = true;
settings = {
@ -48,7 +134,7 @@
style = "underline";
};
main = {
pad = "14x14";
pad = "20x20";
initial-window-size-pixels = "800x600";
};
};
@ -69,15 +155,24 @@
};
};
programs.vesktop = {
enable = false;
enable = true;
settings = {
staticTitle = true;
arRPC = true;
customTitleBar = false;
};
vencord.settings.plugins = {
MessageLogger.enabled = true;
MessageClickActions.enabled = true;
};
};
services.dunst = {
enable = true;
settings = {
global = {
offset = "10x32";
corner_radius = config.wayland.windowManager.hyprland.settings.decoration.rounding;
frame_width = config.wayland.windowManager.hyprland.settings.general.border_size;
};
};
};
}

View File

@ -1,25 +1,16 @@
{
config,
pkgs,
...
}:
{
stylix = {
image = ./wallpaper.png;
polarity = "dark";
targets = {
waybar.enable = true;
waybar.addCss = false;
hyprland.enable = true;
nixvim.enable = true;
foot.enable = true;
hyprland.hyprpaper.enable = false;
gnome.image.enable = false;
gnome.enable = false;
kde.enable = false;
fuzzel.enable = true;
dunst.enable = true;
vencord.enable = true;
vencord.fonts.enable = true;
gtksourceview.enable = false;
obsidian.vaultNames = [
"notes"
];
};
};
}

View File

@ -1,64 +1,63 @@
{ config, lib, ... }:
{
programs.waybar = {
enable = false;
enable = true;
systemd.enable = true;
style = ''
* {
font-size: 14px;
font-weight: 600;
}
window#waybar {
background-color: transparent;
border-radius: ${toString config.wayland.windowManager.hyprland.settings.decoration.rounding};
* {
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 3px;
color: alpha(@base05, 0.5);
border-radius: ${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.active {
color: @base05;
}
#workspaces button.active {
color: @base05;
}
#workspaces {
margin: 0px;
padding: 2px 6px;
background-color: @base00;
border-radius: ${toString config.wayland.windowManager.hyprland.settings.decoration.rounding};
}
#mpris,
#backlight,
#tray,
#pulseaudio,
#window,
#upower,
#clock,
#power-profiles-daemon {
padding: 2px 10px;
background-color: @base00;
color: @base05;
border-radius: ${toString config.wayland.windowManager.hyprland.settings.decoration.rounding};
}
#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;
}
#tray {
padding: 0px 8px;
}
window#waybar.empty #window {
background: none;
padding: 0px;
margin: 0px;
}
#custom-sep {
color: alpha(@base05, 0.5);
}
window#waybar.empty #window {
background: none;
}
#custom-sep {
color: alpha(@base05, 0.5);
}
'';
settings = {
mainBar = {
@ -70,14 +69,14 @@
spacing = 4;
modules-left = [
"hyprland/workspaces"
"hyprland/window"
"mpris"
];
modules-center = [
"hyprland/window"
];
modules-right = [
"backlight"
"pulseaudio"
"upower"
"power-profiles-daemon"
"clock"
"tray"
];
@ -96,7 +95,6 @@
"tray" = {
icon-size = 14;
spacing = 5;
};
"hyprland/workspaces" = {
@ -112,6 +110,11 @@
tooltip-spacing = 20;
};
"power-profiles-daemon" = {
format = "{profile}";
format-tooltip = "Power profile: {profile}\nDriver: {driver}";
};
"backlight" = {
format = "{icon} {percent}%";
format-icons = [

View File

@ -2,14 +2,20 @@
config,
lib,
pkgs,
apple-fonts,
...
}:
{
stylix.opacity = {
terminal = 1.0;
terminal = 0.8;
desktop = 1.0;
popups = 1.0;
};
stylix.cursor = {
name = "macOS";
package = pkgs.apple-cursor;
size = 24;
};
stylix.icons = {
enable = true;
dark = "Papirus-Dark";
@ -19,13 +25,11 @@
stylix = {
enable = true;
autoEnable = true;
base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-mocha.yaml";
base16Scheme = "${pkgs.base16-schemes}/share/themes/rose-pine.yaml";
polarity = "dark";
image = ./home/wallpaper.png;
targets = {
qt.platform = lib.mkForce "qtct";
gnome.enable = true;
gtksourceview.enable = false;
};
fonts = {
sizes = {
@ -42,8 +46,8 @@
name = config.stylix.fonts.monospace.name;
};
monospace = {
package = pkgs.maple-mono.NF;
name = "Maple Mono NF";
package = apple-fonts.packages.${pkgs.system}.sf-mono-nerd;
name = "SFMono Nerd Font";
};
emoji = {