Compare commits

...

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

15 changed files with 261 additions and 296 deletions

1
.gitignore vendored Normal file
View File

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

View File

@ -19,12 +19,11 @@
noto-fonts-cjk-sans
noto-fonts
nerd-fonts._0xproto
gnome-tweaks
];
};
services.displayManager.gdm.enable = true;
services.desktopManager.gnome.enable = true;
programs.hyprland.enable = true;
boot = {
@ -60,24 +59,12 @@
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
security.doas.enable = true;
security.sudo.enable = false;
security.doas.extraRules = [
{
users = [ "foo" ];
# Optional, retains environment variables while running commands
# e.g. retains your NIX_PATH when applying your config
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;
services.auto-cpufreq.enable = true;
networking.hostName = "wired"; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
@ -104,6 +91,18 @@
# 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";
};
# Configure keymap in X11
services.xserver.xkb = {
layout = "us";
@ -113,7 +112,6 @@
console.keyMap = "us";
# Define a user account. Don't forget to set a password with passwd.
programs.direnv.enable = true;
programs.zsh.enable = true;
users.users.lucy = {
isNormalUser = true;
@ -137,9 +135,6 @@
environment.systemPackages = with pkgs; [
openssl
fastfetch
gnomeExtensions.blur-my-shell
gnomeExtensions.appindicator
gnomeExtensions.just-perfection
];
programs.steam = {

43
flake.lock generated
View File

@ -179,48 +179,6 @@
"type": "github"
}
},
"ignis": {
"inputs": {
"ignis-gvc": "ignis-gvc",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1767456002,
"narHash": "sha256-q+ZYdTMLr0RCfN5qxOl56CbZBj702hYY2H5dOLynW+o=",
"owner": "ignis-sh",
"repo": "ignis",
"rev": "5fd140227c0f2d9d65a98d4af78b95b1558966da",
"type": "github"
},
"original": {
"owner": "ignis-sh",
"repo": "ignis",
"type": "github"
}
},
"ignis-gvc": {
"inputs": {
"nixpkgs": [
"ignis",
"nixpkgs"
]
},
"locked": {
"lastModified": 1754064086,
"narHash": "sha256-ft5KvY2OYrWF+jEsfBL/Zx8Iuo2C10C6COk8wHwZw34=",
"owner": "ignis-sh",
"repo": "ignis-gvc",
"rev": "f2c9f10d8b49cc38106a2f07a51ea959c6aa4e63",
"type": "github"
},
"original": {
"owner": "ignis-sh",
"repo": "ignis-gvc",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1770841267,
@ -346,7 +304,6 @@
"root": {
"inputs": {
"home-manager": "home-manager",
"ignis": "ignis",
"nixpkgs": "nixpkgs_2",
"nixvim": "nixvim",
"spicetify-nix": "spicetify-nix",

View File

@ -6,22 +6,17 @@
nixvim.url = "github:nix-community/nixvim";
home-manager.url = "github:nix-community/home-manager";
ignis = {
url = "github:ignis-sh/ignis";
inputs.nixpkgs.follows = "nixpkgs"; # recommended
};
};
outputs =
{
self,
nixpkgs,
stylix,
spicetify-nix,
nixvim,
home-manager,
...
}@inputs:
}:
let
system = "x86_64-linux";
pkgs = import nixpkgs { inherit system; };
@ -40,8 +35,7 @@
home-manager.useGlobalPkgs = true;
home-manager.users.lucy = {
imports = [
inputs.ignis.homeManagerModules.default
nixvim.homeModules.nixvim
nixvim.homeModules.nixvim
spicetify-nix.homeManagerModules.spicetify
./home/home.nix
@ -53,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,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" "usb_storage" "sd_mod" "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,8 +1,4 @@
{
config,
pkgs,
...
}:
{ config, pkgs, ... }:
{
imports = [
./hyprland.nix
@ -21,38 +17,7 @@
# 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.ignis = {
enable = true;
addToPythonEnv = true;
services = {
bluetooth.enable = true;
recorder.enable = true;
audio.enable = true;
network.enable = true;
};
sass = {
enable = true;
useDartSass = true;
};
extraPackages = with pkgs; [
hello
python313Packages.jinja2
python313Packages.materialyoucolor
python313Packages.pillow
dart-sass
];
};
programs.zsh = {
enable = true;
enableCompletion = true;

View File

@ -45,7 +45,8 @@
];
};
input = {
kb_layout = "eu";
kb_layout = "de";
kb_options = "nodeadkeys";
sensitivity = 0.3;
accel_profile = "flat";
natural_scroll = true;
@ -122,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,7 +12,12 @@
servers = {
bashls.enable = true;
pyright.enable = true;
qmlls.enable = true;
qmlls.package = null;
qmlls.cmd = [
"qmlls"
"-E"
];
clangd.package = null;
clangd.enable = true;
clangd.cmd = [
@ -28,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,8 +15,6 @@
extraPackages = with pkgs; [
nixd
nixpkgs-fmt
stylua
black
];
globals.mapleader = " ";
defaultEditor = true;

View File

@ -1,32 +1,10 @@
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;
settings = {
@ -35,15 +13,47 @@ in
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;
};
};
nvim-tree.enable = true;
};
alpha = {
enable = true;
settings.layout = [
{
type = "padding";
val = 2;
val = 20;
}
{
type = "text";
@ -79,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";
};
};
@ -108,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" ];

View File

@ -1,7 +1,6 @@
{
config,
pkgs,
inputs,
...
}:
{
@ -19,14 +18,6 @@
dconf
fd
ripgrep
ani-cli
element-desktop
gnome-tweaks
btop
(discord.override {
withOpenASAR = true; # can do this here too
withVencord = true;
})
];
programs.git = {
enable = true;
@ -143,7 +134,7 @@
style = "underline";
};
main = {
pad = "14x14";
pad = "20x20";
initial-window-size-pixels = "800x600";
};
};
@ -164,11 +155,10 @@
};
};
programs.vesktop = {
enable = false;
enable = true;
settings = {
staticTitle = true;
arRPC = true;
customTitleBar = false;
};
vencord.settings.plugins = {
MessageLogger.enabled = true;

View File

@ -1,22 +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 = true;
spicetify.enable = true;
fuzzel.enable = true;
dunst.enable = true;
vencord.enable = true;
vencord.fonts.enable = true;
gtksourceview.enable = false;
};
};
}

View File

@ -5,60 +5,59 @@
systemd.enable = true;
style = ''
* {
font-size: 14px;
font-weight: 600;
}
window#waybar {
background-color: transparent;
border-radius: ${builtins.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: 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 6px;
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};
}
#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,14 +25,11 @@
stylix = {
enable = true;
autoEnable = true;
base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark.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;
gtk.enable = true;
gtksourceview.enable = false;
};
fonts = {
sizes = {
@ -43,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 = {