Compare commits
No commits in common. "main" and "master" have entirely different histories.
1
.gitignore
vendored
1
.gitignore
vendored
@ -1 +0,0 @@
|
|||||||
hardware-configuration.nix
|
|
||||||
@ -1,7 +1,3 @@
|
|||||||
# 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,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
@ -11,7 +7,6 @@
|
|||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
# Include the results of the hardware scan.
|
# Include the results of the hardware scan.
|
||||||
./hardware-configuration.nix
|
|
||||||
./stylix.nix
|
./stylix.nix
|
||||||
];
|
];
|
||||||
fonts = {
|
fonts = {
|
||||||
@ -19,11 +14,14 @@
|
|||||||
noto-fonts-cjk-sans
|
noto-fonts-cjk-sans
|
||||||
noto-fonts
|
noto-fonts
|
||||||
nerd-fonts._0xproto
|
nerd-fonts._0xproto
|
||||||
|
material-symbols
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
services.displayManager.gdm.enable = true;
|
services.displayManager.gdm.enable = true;
|
||||||
services.desktopManager.gnome.enable = true;
|
programs.hyprland.enable = true;
|
||||||
|
nixpkgs.config.permittedInsecurePackages = [
|
||||||
|
"ventoy-1.1.10"
|
||||||
|
];
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
|
|
||||||
@ -41,9 +39,6 @@
|
|||||||
"udev.log_priority=3"
|
"udev.log_priority=3"
|
||||||
"rd.systemd.show_status=auto"
|
"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;
|
loader.timeout = 0;
|
||||||
|
|
||||||
};
|
};
|
||||||
@ -59,20 +54,37 @@
|
|||||||
# Bootloader.
|
# Bootloader.
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot.loader.systemd-boot.enable = true;
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
security.sudo.enable = true;
|
security.doas.enable = true;
|
||||||
|
security.sudo.enable = false;
|
||||||
|
security.doas.extraRules = [
|
||||||
|
{
|
||||||
|
keepEnv = true;
|
||||||
|
persist = true; # Optional, only require password verification a single time
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
# Use latest kernel.
|
# Use latest kernel.
|
||||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||||
services.power-profiles-daemon.enable = true;
|
services.power-profiles-daemon.enable = false;
|
||||||
services.upower.enable = true;
|
services.upower.enable = true;
|
||||||
|
services.tlp = {
|
||||||
networking.hostName = "wired"; # Define your hostname.
|
enable = true;
|
||||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
settings = {
|
||||||
|
CPU_SCALING_GOVERNOR_ON_AC = "balanced";
|
||||||
# Configure network proxy if necessary
|
CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
|
||||||
# networking.proxy.default = "http://user:password@proxy:port/";
|
CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
|
||||||
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
CPU_ENERGY_PERF_POLICY_ON_AC = "balanced";
|
||||||
# Sound
|
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;
|
||||||
security.rtkit.enable = true;
|
security.rtkit.enable = true;
|
||||||
services.pipewire = {
|
services.pipewire = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@ -81,37 +93,16 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
# Enable networking
|
# 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";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Configure keymap in X11
|
time.timeZone = "Europe/Berlin";
|
||||||
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
services.xserver.xkb = {
|
services.xserver.xkb = {
|
||||||
layout = "us";
|
layout = "us";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Configure console keymap
|
|
||||||
console.keyMap = "us";
|
console.keyMap = "us";
|
||||||
|
|
||||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
|
||||||
programs.zsh.enable = true;
|
programs.zsh.enable = true;
|
||||||
users.users.lucy = {
|
users.users.lucy = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
@ -135,6 +126,12 @@
|
|||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
openssl
|
openssl
|
||||||
fastfetch
|
fastfetch
|
||||||
|
quickshell
|
||||||
|
flashrom
|
||||||
|
usbutils
|
||||||
|
clang-tools
|
||||||
|
clang
|
||||||
|
iw
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.steam = {
|
programs.steam = {
|
||||||
@ -152,32 +149,6 @@
|
|||||||
Restart = "on-failure";
|
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. It‘s 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?
|
system.stateVersion = "25.05"; # Did you read the comment?
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
128
flake.lock
generated
Normal file → Executable file
128
flake.lock
generated
Normal file → Executable file
@ -68,6 +68,21 @@
|
|||||||
"type": "github"
|
"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": {
|
"firefox-gnome-theme": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
@ -84,6 +99,22 @@
|
|||||||
"type": "github"
|
"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": {
|
"flake-parts": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": [
|
"nixpkgs-lib": [
|
||||||
@ -142,6 +173,28 @@
|
|||||||
"type": "github"
|
"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": {
|
"gnome-shell": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
@ -179,6 +232,30 @@
|
|||||||
"type": "github"
|
"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": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770841267,
|
"lastModified": 1770841267,
|
||||||
@ -197,11 +274,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1772433332,
|
"lastModified": 1772773019,
|
||||||
"narHash": "sha256-izhTDFKsg6KeVBxJS9EblGeQ8y+O8eCa6RcW874vxEc=",
|
"narHash": "sha256-E1bxHxNKfDoQUuvriG71+f+s/NT0qWkImXsYZNFFfCs=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "cf59864ef8aa2e178cccedbe2c178185b0365705",
|
"rev": "aca4d95fce4914b3892661bcb80b8087293536c6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -301,15 +378,60 @@
|
|||||||
"type": "github"
|
"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": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
|
"lanzaboote": "lanzaboote",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"nixvim": "nixvim",
|
"nixvim": "nixvim",
|
||||||
"spicetify-nix": "spicetify-nix",
|
"spicetify-nix": "spicetify-nix",
|
||||||
"stylix": "stylix"
|
"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": {
|
"spicetify-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_4",
|
"nixpkgs": "nixpkgs_4",
|
||||||
|
|||||||
79
flake.nix
79
flake.nix
@ -6,28 +6,102 @@
|
|||||||
nixvim.url = "github:nix-community/nixvim";
|
nixvim.url = "github:nix-community/nixvim";
|
||||||
home-manager.url = "github:nix-community/home-manager";
|
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 =
|
outputs =
|
||||||
{
|
{
|
||||||
|
self,
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
stylix,
|
stylix,
|
||||||
spicetify-nix,
|
spicetify-nix,
|
||||||
nixvim,
|
nixvim,
|
||||||
home-manager,
|
home-manager,
|
||||||
|
lanzaboote,
|
||||||
...
|
...
|
||||||
}:
|
}@inputs:
|
||||||
let
|
let
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
pkgs = import nixpkgs { inherit system; };
|
pkgs = import nixpkgs { inherit system; };
|
||||||
in
|
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 {
|
nixosConfigurations.wired = nixpkgs.lib.nixosSystem {
|
||||||
inherit system;
|
inherit system;
|
||||||
|
|
||||||
modules = [
|
modules = [
|
||||||
stylix.nixosModules.stylix
|
stylix.nixosModules.stylix
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
|
{
|
||||||
|
networking.hostName = "wired";
|
||||||
|
imports = [
|
||||||
|
./hardware-configuration-wired.nix
|
||||||
|
./stylix.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
}
|
||||||
./configuration.nix
|
./configuration.nix
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -47,7 +121,8 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
homeConfigurations.lucy = home-manager.lib.homeManagerConfiguration {
|
homeConfigurations.lucy = home-manager.lib.homeManagerConfiguration {
|
||||||
inherit pkgs;
|
pkgs = nixpkgs.legacyPackages.${system};
|
||||||
|
extraSpecialArgs = { inherit inputs; };
|
||||||
modules = [
|
modules = [
|
||||||
stylix.homeModules.stylix
|
stylix.homeModules.stylix
|
||||||
nixvim.homeModules.nixvim
|
nixvim.homeModules.nixvim
|
||||||
|
|||||||
31
hardware-configuration-cyberia.nix
Executable file
31
hardware-configuration-cyberia.nix
Executable file
@ -0,0 +1,31 @@
|
|||||||
|
# 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;
|
||||||
|
}
|
||||||
33
hardware-configuration-wired.nix
Executable file
33
hardware-configuration-wired.nix
Executable file
@ -0,0 +1,33 @@
|
|||||||
|
# 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;
|
||||||
|
}
|
||||||
@ -1,4 +1,9 @@
|
|||||||
{ config, pkgs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./hyprland.nix
|
./hyprland.nix
|
||||||
@ -17,6 +22,16 @@
|
|||||||
# You should not change this value, even if you update Home Manager. If you do
|
# 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
|
# want to update the value, then make sure to first check the Home Manager
|
||||||
# release notes.
|
# 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 = {
|
programs.zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@ -35,11 +50,15 @@
|
|||||||
theme = "gentoo";
|
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.stateVersion = "24.05"; # Please read the comment before changing.
|
||||||
home.shell.enableShellIntegration = true;
|
home.shell.enableShellIntegration = true;
|
||||||
home.shellAliases = {
|
home.shellAliases = {
|
||||||
nrs = "sudo nixos-rebuild switch --flake /home/lucy/nixos-conf/";
|
nrs = "doas nixos-rebuild switch --flake /home/lucy/nixos/";
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,16 +3,20 @@
|
|||||||
wayland.windowManager.hyprland.enable = true;
|
wayland.windowManager.hyprland.enable = true;
|
||||||
wayland.windowManager.hyprland.settings = {
|
wayland.windowManager.hyprland.settings = {
|
||||||
"$mod" = "SUPER";
|
"$mod" = "SUPER";
|
||||||
"monitor" = ",preferred,auto,1";
|
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"
|
||||||
|
];
|
||||||
general = {
|
general = {
|
||||||
border_size = 2;
|
border_size = 4;
|
||||||
gaps_in = 5;
|
gaps_in = 5;
|
||||||
gaps_out = 10;
|
gaps_out = 10;
|
||||||
layout = "dwindle";
|
layout = "dwindle";
|
||||||
};
|
};
|
||||||
|
|
||||||
decoration = {
|
decoration = {
|
||||||
rounding = 15;
|
rounding = 24;
|
||||||
blur = {
|
blur = {
|
||||||
enabled = true;
|
enabled = true;
|
||||||
size = 3;
|
size = 3;
|
||||||
@ -29,32 +33,30 @@
|
|||||||
bezier = [
|
bezier = [
|
||||||
"smoothIn, 0.25, 1, 0.5, 1"
|
"smoothIn, 0.25, 1, 0.5, 1"
|
||||||
"smoothOut, 0.25, 1, 0.5, 1"
|
"smoothOut, 0.25, 1, 0.5, 1"
|
||||||
"overshot, 0.4, 0.8, 0.5, 1"
|
"overshot, 0.23, 0.5, 0.36, 1.1"
|
||||||
"candy, 0.68, -0.6, 0.32, 1.5"
|
"candy, 0.68, -0.6, 0.32, 1.5"
|
||||||
];
|
];
|
||||||
|
|
||||||
animation = [
|
animation = [
|
||||||
"fade, 1, 10, overshot"
|
"fade, 1, 6, overshot"
|
||||||
"fadeIn, 1, 5, overshot"
|
"fadeIn, 1, 5, overshot"
|
||||||
"fadeOut, 1, 5, overshot"
|
"fadeOut, 1, 5, overshot"
|
||||||
"fadeDim, 1, 5, overshot"
|
"fadeDim, 1, 5, overshot"
|
||||||
"windows, 1, 1, smoothIn, popin"
|
"windows, 1, 3, overshot, popin 80%"
|
||||||
"border, 1, 10, default"
|
"border, 1, 6, default"
|
||||||
"workspaces, 1, 6, overshot, slide"
|
"workspaces, 1, 6, overshot, fade"
|
||||||
"specialWorkspace, 1, 8, smoothOut, slidevert"
|
"specialWorkspace, 1, 8, smoothOut, slidevert"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
input = {
|
input = {
|
||||||
kb_layout = "de";
|
kb_layout = "eu";
|
||||||
kb_options = "nodeadkeys";
|
|
||||||
sensitivity = 0.3;
|
sensitivity = 0.3;
|
||||||
accel_profile = "flat";
|
accel_profile = "flat";
|
||||||
natural_scroll = true;
|
natural_scroll = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
exec-once = [
|
exec-once = [
|
||||||
"swww-daemon"
|
"qs"
|
||||||
"dunst"
|
|
||||||
];
|
];
|
||||||
|
|
||||||
"bind" = [
|
"bind" = [
|
||||||
@ -104,6 +106,14 @@
|
|||||||
"$mod SHIFT, right, movewindow, r"
|
"$mod SHIFT, right, movewindow, r"
|
||||||
"$mod SHIFT, up, movewindow, u"
|
"$mod SHIFT, up, movewindow, u"
|
||||||
"$mod SHIFT, down, movewindow, d"
|
"$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"
|
"$mod, P, exec, /home/lucy/.local/bin/powermenu"
|
||||||
];
|
];
|
||||||
@ -123,14 +133,5 @@
|
|||||||
"$mod, mouse:272, movewindow"
|
"$mod, mouse:272, movewindow"
|
||||||
"alt, mouse:272, resizewindow"
|
"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"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -12,13 +12,9 @@
|
|||||||
|
|
||||||
servers = {
|
servers = {
|
||||||
bashls.enable = true;
|
bashls.enable = true;
|
||||||
|
pyright.enable = true;
|
||||||
|
clangd.package = pkgs.clang-tools;
|
||||||
qmlls.enable = true;
|
qmlls.enable = true;
|
||||||
qmlls.package = null;
|
|
||||||
qmlls.cmd = [
|
|
||||||
"qmlls"
|
|
||||||
"-E"
|
|
||||||
];
|
|
||||||
clangd.package = null;
|
|
||||||
clangd.enable = true;
|
clangd.enable = true;
|
||||||
clangd.cmd = [
|
clangd.cmd = [
|
||||||
"clangd"
|
"clangd"
|
||||||
@ -33,50 +29,19 @@
|
|||||||
conform-nvim = {
|
conform-nvim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
format_on_save = {
|
|
||||||
lspFormat = "fallback";
|
|
||||||
timeoutMs = 500;
|
|
||||||
};
|
|
||||||
|
|
||||||
formatters_by_ft = {
|
formatters_by_ft = {
|
||||||
lua = [ "stylua" ];
|
lua = [ "stylua" ];
|
||||||
nix = [ "nixfmt" ];
|
nix = [ "nixfmt" ];
|
||||||
python = [ "ruff_format" ];
|
c = [ "clang-format" ];
|
||||||
javascript = [ "prettier" ];
|
cpp = [ "clang-format" ];
|
||||||
typescript = [ "prettier" ];
|
python = [ "black" ];
|
||||||
svelte = [ "prettier" ];
|
|
||||||
css = [ "prettier" ];
|
|
||||||
json = [ "prettier" ];
|
|
||||||
html = [ "prettier" ];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
blink-cmp = {
|
||||||
cmp = {
|
|
||||||
enable = true;
|
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";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -56,6 +56,11 @@
|
|||||||
mode = "n";
|
mode = "n";
|
||||||
action = ":BufferLineGoToBuffer last<CR>";
|
action = ":BufferLineGoToBuffer last<CR>";
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
key = "<leader>w";
|
||||||
|
mode = "n";
|
||||||
|
action = "<cmd>bdelete!<cr>";
|
||||||
|
}
|
||||||
{
|
{
|
||||||
key = "<A-S-e>";
|
key = "<A-S-e>";
|
||||||
mode = "n";
|
mode = "n";
|
||||||
@ -69,12 +74,22 @@
|
|||||||
{
|
{
|
||||||
key = "<C-F>";
|
key = "<C-F>";
|
||||||
mode = "n";
|
mode = "n";
|
||||||
action = "<Cmd>lua vim.lsp.buf.format()<CR>";
|
action = "<cmd>lua require('conform').format({ async = true, lsp_fallback = true }) <cr>";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
key = "<leader>t";
|
key = "<leader>t";
|
||||||
mode = "n";
|
mode = "n";
|
||||||
action = "<cmd>terminal<cr>";
|
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>";
|
||||||
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@ -15,6 +15,9 @@
|
|||||||
extraPackages = with pkgs; [
|
extraPackages = with pkgs; [
|
||||||
nixd
|
nixd
|
||||||
nixpkgs-fmt
|
nixpkgs-fmt
|
||||||
|
stylua
|
||||||
|
black
|
||||||
|
clang
|
||||||
];
|
];
|
||||||
globals.mapleader = " ";
|
globals.mapleader = " ";
|
||||||
defaultEditor = true;
|
defaultEditor = true;
|
||||||
|
|||||||
@ -1,59 +1,48 @@
|
|||||||
{ lib, ... }:
|
{ 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
|
||||||
{
|
{
|
||||||
programs.nixvim.plugins = {
|
programs.nixvim.plugins = {
|
||||||
|
|
||||||
neocord.enable = true;
|
neocord.enable = true;
|
||||||
colorizer.enable = true;
|
colorizer.enable = true;
|
||||||
nvim-autopairs.enable = true;
|
nvim-autopairs.enable = true;
|
||||||
|
|
||||||
treesitter = {
|
treesitter = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
highlight.enable = true;
|
||||||
|
indent.enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
highlighting.enable = true;
|
install_dir.__raw = "vim.fs.joinpath(vim.fn.stdpath('data'), 'site')";
|
||||||
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 = {
|
alpha = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings.layout = [
|
settings.layout = [
|
||||||
{
|
{
|
||||||
type = "padding";
|
type = "padding";
|
||||||
val = 20;
|
val = 2;
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
type = "text";
|
type = "text";
|
||||||
@ -89,84 +78,24 @@
|
|||||||
}
|
}
|
||||||
{
|
{
|
||||||
type = "group";
|
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 = {
|
opts = {
|
||||||
position = "center";
|
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>")
|
||||||
|
];
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
nvim-tree.enable = true;
|
snacks = {
|
||||||
telescope = {
|
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
pickers = {
|
notifier.enabled = true;
|
||||||
find_files = {
|
picker.enabled = true;
|
||||||
find_command = [
|
indent.enabled = true;
|
||||||
"fd"
|
|
||||||
"--unrestricted"
|
|
||||||
"--no-ignore"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
defaults = {
|
|
||||||
sorting_strategy = "ascending";
|
|
||||||
selection_caret = "> ";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
keymaps = {
|
|
||||||
"<leader>fg" = "live_grep";
|
|
||||||
"<leader>ff" = "find_files";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -178,21 +107,23 @@
|
|||||||
section_separators = {
|
section_separators = {
|
||||||
left = "";
|
left = "";
|
||||||
right = "";
|
right = "";
|
||||||
a = "";
|
|
||||||
b = "";
|
|
||||||
c = "";
|
|
||||||
x = "";
|
|
||||||
y = "";
|
|
||||||
z = "";
|
|
||||||
};
|
};
|
||||||
|
component_separators = {
|
||||||
|
left = "";
|
||||||
|
right = "";
|
||||||
|
}; # Fixed: Added missing braces
|
||||||
};
|
};
|
||||||
sections = {
|
sections = {
|
||||||
lualine_a = [ "mode" ];
|
lualine_a = [ "mode" ];
|
||||||
lualine_b = [ "branch" ];
|
lualine_b = [ "diagnostics" ];
|
||||||
lualine_c = [ "filename" ];
|
lualine_c = [
|
||||||
|
"filename"
|
||||||
|
"branch"
|
||||||
|
"navic"
|
||||||
|
];
|
||||||
lualine_x = [
|
lualine_x = [
|
||||||
"diagnostics"
|
|
||||||
"filetype"
|
"filetype"
|
||||||
|
"lsp_status"
|
||||||
];
|
];
|
||||||
lualine_y = [ "progress" ];
|
lualine_y = [ "progress" ];
|
||||||
lualine_z = [ "location" ];
|
lualine_z = [ "location" ];
|
||||||
@ -202,5 +133,6 @@
|
|||||||
|
|
||||||
bufferline.enable = true;
|
bufferline.enable = true;
|
||||||
web-devicons.enable = true;
|
web-devicons.enable = true;
|
||||||
|
nvim-tree.enable = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,14 +1,13 @@
|
|||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
|
inputs,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
nixfmt
|
nixfmt
|
||||||
google-chrome
|
google-chrome
|
||||||
swww
|
|
||||||
waypaper
|
|
||||||
nemo
|
nemo
|
||||||
cava
|
cava
|
||||||
pavucontrol
|
pavucontrol
|
||||||
@ -18,7 +17,21 @@
|
|||||||
dconf
|
dconf
|
||||||
fd
|
fd
|
||||||
ripgrep
|
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 = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
@ -28,105 +41,6 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
programs.spicetify.enable = true;
|
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 = {
|
programs.foot = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
@ -134,7 +48,7 @@
|
|||||||
style = "underline";
|
style = "underline";
|
||||||
};
|
};
|
||||||
main = {
|
main = {
|
||||||
pad = "20x20";
|
pad = "14x14";
|
||||||
initial-window-size-pixels = "800x600";
|
initial-window-size-pixels = "800x600";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -155,24 +69,15 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
programs.vesktop = {
|
programs.vesktop = {
|
||||||
enable = true;
|
enable = false;
|
||||||
settings = {
|
settings = {
|
||||||
staticTitle = true;
|
staticTitle = true;
|
||||||
arRPC = true;
|
arRPC = true;
|
||||||
|
customTitleBar = false;
|
||||||
};
|
};
|
||||||
vencord.settings.plugins = {
|
vencord.settings.plugins = {
|
||||||
MessageLogger.enabled = true;
|
MessageLogger.enabled = true;
|
||||||
MessageClickActions.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;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,16 +1,25 @@
|
|||||||
{
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
{
|
||||||
stylix = {
|
stylix = {
|
||||||
image = ./wallpaper.png;
|
image = ./wallpaper.png;
|
||||||
|
polarity = "dark";
|
||||||
targets = {
|
targets = {
|
||||||
waybar.enable = true;
|
waybar.enable = true;
|
||||||
waybar.addCss = false;
|
waybar.addCss = false;
|
||||||
hyprland.enable = true;
|
hyprland.enable = true;
|
||||||
|
nixvim.enable = true;
|
||||||
|
foot.enable = true;
|
||||||
hyprland.hyprpaper.enable = false;
|
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"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
107
home/waybar.nix
107
home/waybar.nix
@ -1,63 +1,64 @@
|
|||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
{
|
{
|
||||||
programs.waybar = {
|
programs.waybar = {
|
||||||
enable = true;
|
enable = false;
|
||||||
systemd.enable = true;
|
systemd.enable = true;
|
||||||
style = ''
|
style = ''
|
||||||
|
|
||||||
* {
|
* {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar {
|
||||||
|
background-color: transparent;
|
||||||
|
border-radius: ${toString config.wayland.windowManager.hyprland.settings.decoration.rounding};
|
||||||
}
|
}
|
||||||
|
|
||||||
window#waybar {
|
|
||||||
background-color: transparent;
|
|
||||||
border-radius: ${builtins.toString config.wayland.windowManager.hyprland.settings.decoration.rounding};
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button {
|
#workspaces button {
|
||||||
all: unset;
|
all: unset;
|
||||||
padding: 1px 6px;
|
padding: 1px 3px;
|
||||||
margin: 2px;
|
color: alpha(@base05, 0.5);
|
||||||
color: alpha(@base05, 0.5);
|
border-radius: ${toString config.wayland.windowManager.hyprland.settings.decoration.rounding};
|
||||||
border-radius: 1em;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#workspaces button.active {
|
#workspaces button.active {
|
||||||
color: @base05;
|
color: @base05;
|
||||||
}
|
}
|
||||||
|
|
||||||
#workspaces {
|
#workspaces {
|
||||||
margin: 0px;
|
margin: 0px;
|
||||||
padding: 2px;
|
padding: 2px 6px;
|
||||||
background-color: @base00;
|
background-color: @base00;
|
||||||
border-radius: 1em;
|
border-radius: ${toString config.wayland.windowManager.hyprland.settings.decoration.rounding};
|
||||||
}
|
}
|
||||||
#mpris,
|
#mpris,
|
||||||
#backlight,
|
#backlight,
|
||||||
#tray,
|
#tray,
|
||||||
#pulseaudio,
|
#pulseaudio,
|
||||||
#window,
|
#window,
|
||||||
#upower,
|
#upower,
|
||||||
#clock,
|
#clock,
|
||||||
#power-profiles-daemon {
|
#power-profiles-daemon {
|
||||||
padding: 2px 10px;
|
padding: 2px 10px;
|
||||||
background-color: @base00;
|
background-color: @base00;
|
||||||
color: @base05;
|
color: @base05;
|
||||||
border-radius: ${builtins.toString config.wayland.windowManager.hyprland.settings.decoration.rounding};
|
border-radius: ${toString config.wayland.windowManager.hyprland.settings.decoration.rounding};
|
||||||
}
|
}
|
||||||
|
|
||||||
#tray {
|
#tray {
|
||||||
padding: 0px 8px;
|
padding: 0px 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
window#waybar.empty #window {
|
window#waybar.empty #window {
|
||||||
background: none;
|
background: none;
|
||||||
}
|
padding: 0px;
|
||||||
#custom-sep {
|
margin: 0px;
|
||||||
color: alpha(@base05, 0.5);
|
}
|
||||||
}
|
#custom-sep {
|
||||||
|
color: alpha(@base05, 0.5);
|
||||||
|
}
|
||||||
'';
|
'';
|
||||||
settings = {
|
settings = {
|
||||||
mainBar = {
|
mainBar = {
|
||||||
@ -69,14 +70,14 @@
|
|||||||
spacing = 4;
|
spacing = 4;
|
||||||
modules-left = [
|
modules-left = [
|
||||||
"hyprland/workspaces"
|
"hyprland/workspaces"
|
||||||
"hyprland/window"
|
|
||||||
"mpris"
|
"mpris"
|
||||||
];
|
];
|
||||||
|
modules-center = [
|
||||||
|
"hyprland/window"
|
||||||
|
];
|
||||||
modules-right = [
|
modules-right = [
|
||||||
"backlight"
|
|
||||||
"pulseaudio"
|
"pulseaudio"
|
||||||
"upower"
|
"upower"
|
||||||
"power-profiles-daemon"
|
|
||||||
"clock"
|
"clock"
|
||||||
"tray"
|
"tray"
|
||||||
];
|
];
|
||||||
@ -95,6 +96,7 @@
|
|||||||
|
|
||||||
"tray" = {
|
"tray" = {
|
||||||
icon-size = 14;
|
icon-size = 14;
|
||||||
|
spacing = 5;
|
||||||
};
|
};
|
||||||
|
|
||||||
"hyprland/workspaces" = {
|
"hyprland/workspaces" = {
|
||||||
@ -110,11 +112,6 @@
|
|||||||
tooltip-spacing = 20;
|
tooltip-spacing = 20;
|
||||||
};
|
};
|
||||||
|
|
||||||
"power-profiles-daemon" = {
|
|
||||||
format = "{profile}";
|
|
||||||
format-tooltip = "Power profile: {profile}\nDriver: {driver}";
|
|
||||||
};
|
|
||||||
|
|
||||||
"backlight" = {
|
"backlight" = {
|
||||||
format = "{icon} {percent}%";
|
format = "{icon} {percent}%";
|
||||||
format-icons = [
|
format-icons = [
|
||||||
|
|||||||
16
stylix.nix
16
stylix.nix
@ -2,20 +2,14 @@
|
|||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
apple-fonts,
|
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
stylix.opacity = {
|
stylix.opacity = {
|
||||||
terminal = 0.8;
|
terminal = 1.0;
|
||||||
desktop = 1.0;
|
desktop = 1.0;
|
||||||
popups = 1.0;
|
popups = 1.0;
|
||||||
};
|
};
|
||||||
stylix.cursor = {
|
|
||||||
name = "macOS";
|
|
||||||
package = pkgs.apple-cursor;
|
|
||||||
size = 24;
|
|
||||||
};
|
|
||||||
stylix.icons = {
|
stylix.icons = {
|
||||||
enable = true;
|
enable = true;
|
||||||
dark = "Papirus-Dark";
|
dark = "Papirus-Dark";
|
||||||
@ -25,11 +19,13 @@
|
|||||||
stylix = {
|
stylix = {
|
||||||
enable = true;
|
enable = true;
|
||||||
autoEnable = true;
|
autoEnable = true;
|
||||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/rose-pine.yaml";
|
base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-mocha.yaml";
|
||||||
polarity = "dark";
|
polarity = "dark";
|
||||||
image = ./home/wallpaper.png;
|
image = ./home/wallpaper.png;
|
||||||
targets = {
|
targets = {
|
||||||
qt.platform = lib.mkForce "qtct";
|
qt.platform = lib.mkForce "qtct";
|
||||||
|
gnome.enable = true;
|
||||||
|
gtksourceview.enable = false;
|
||||||
};
|
};
|
||||||
fonts = {
|
fonts = {
|
||||||
sizes = {
|
sizes = {
|
||||||
@ -46,8 +42,8 @@
|
|||||||
name = config.stylix.fonts.monospace.name;
|
name = config.stylix.fonts.monospace.name;
|
||||||
};
|
};
|
||||||
monospace = {
|
monospace = {
|
||||||
package = apple-fonts.packages.${pkgs.system}.sf-mono-nerd;
|
package = pkgs.maple-mono.NF;
|
||||||
name = "SFMono Nerd Font";
|
name = "Maple Mono NF";
|
||||||
};
|
};
|
||||||
|
|
||||||
emoji = {
|
emoji = {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user