mirror of
https://github.com/youwen5/nixos.git
synced 2024-11-28 11:43:51 -08:00
Compare commits
15 commits
810c991f10
...
42a823e70d
Author | SHA1 | Date | |
---|---|---|---|
42a823e70d | |||
5588373094 | |||
822df005f5 | |||
4aa3ffcafd | |||
fd8e25d657 | |||
f680fe7f45 | |||
13a8e530bb | |||
54c1a54789 | |||
a262cc1e2f | |||
f1bd68c3c9 | |||
b120665d29 | |||
5c35fda971 | |||
f7e40aa164 | |||
35873a5b7c | |||
1d08f51068 |
14 changed files with 114 additions and 115 deletions
11
flake.nix
11
flake.nix
|
@ -47,11 +47,11 @@
|
||||||
specialArgs = { inherit inputs; };
|
specialArgs = { inherit inputs; };
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = [
|
modules = [
|
||||||
./hosts/nixos
|
./hosts/demeter
|
||||||
./modules/nixos/gaming
|
./modules/nixos/gaming
|
||||||
./modules/nixos/audio
|
./modules/nixos/audio
|
||||||
./modules/nixos/networking
|
./modules/nixos/networking
|
||||||
./modules/common/fonts
|
./modules/nixos/fonts
|
||||||
|
|
||||||
catppuccin.nixosModules.catppuccin
|
catppuccin.nixosModules.catppuccin
|
||||||
lix-module.nixosModules.default
|
lix-module.nixosModules.default
|
||||||
|
@ -80,7 +80,7 @@
|
||||||
./hosts/callisto
|
./hosts/callisto
|
||||||
./modules/nixos/audio
|
./modules/nixos/audio
|
||||||
./modules/nixos/networking
|
./modules/nixos/networking
|
||||||
./modules/common/fonts
|
./modules/nixos/fonts
|
||||||
|
|
||||||
apple-silicon.nixosModules.apple-silicon-support
|
apple-silicon.nixosModules.apple-silicon-support
|
||||||
catppuccin.nixosModules.catppuccin
|
catppuccin.nixosModules.catppuccin
|
||||||
|
@ -107,10 +107,10 @@
|
||||||
formatter.aarch64-linux = nixpkgs.legacyPackages.aarch64-linux.nixfmt;
|
formatter.aarch64-linux = nixpkgs.legacyPackages.aarch64-linux.nixfmt;
|
||||||
# Build darwin flake using:
|
# Build darwin flake using:
|
||||||
# $ darwin-rebuild build --flake .#Youwens-MacBook-Pro
|
# $ darwin-rebuild build --flake .#Youwens-MacBook-Pro
|
||||||
darwinConfigurations."Youwens-MacBook-Pro" = nix-darwin.lib.darwinSystem {
|
darwinConfigurations.phobos = nix-darwin.lib.darwinSystem {
|
||||||
specialArgs = { inherit inputs; };
|
specialArgs = { inherit inputs; };
|
||||||
modules = [
|
modules = [
|
||||||
./modules/darwin/darwin-configuration.nix
|
./hosts/phobos
|
||||||
home-manager.darwinModules.home-manager
|
home-manager.darwinModules.home-manager
|
||||||
{
|
{
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager.useGlobalPkgs = true;
|
||||||
|
@ -127,6 +127,7 @@
|
||||||
nix-homebrew.darwinModules.nix-homebrew
|
nix-homebrew.darwinModules.nix-homebrew
|
||||||
./modules/darwin/homebrew.nix
|
./modules/darwin/homebrew.nix
|
||||||
./modules/darwin/yabai.nix
|
./modules/darwin/yabai.nix
|
||||||
|
./modules/darwin/skhd.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,94 +0,0 @@
|
||||||
# Edit this configuration file to define what should be installed on your system. Help is available in the configuration.nix(5) man page, on https://search.nixos.org/options and in
|
|
||||||
# the NixOS manual (`nixos-help`).
|
|
||||||
|
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
{ imports =
|
|
||||||
[ # Include the results of the hardware scan.
|
|
||||||
./hardware-configuration.nix
|
|
||||||
./apple-silicon-support
|
|
||||||
];
|
|
||||||
|
|
||||||
# Use the systemd-boot EFI boot loader.
|
|
||||||
boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = false;
|
|
||||||
|
|
||||||
hardware.asahi.peripheralFirmwareDirectory = ./firmware;
|
|
||||||
|
|
||||||
boot.extraModprobeConfig = ''
|
|
||||||
options hid_apple iso_layout=0
|
|
||||||
'';
|
|
||||||
|
|
||||||
networking.wireless.iwd = {
|
|
||||||
enable = true;
|
|
||||||
settings.General.EnableNetworkConfiguration = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
networking.hostName = "callisto"; # Define your hostname. Pick only one of the below networking options. networking.wireless.enable = true; # Enables wireless support via
|
|
||||||
# wpa_supplicant. networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
|
|
||||||
|
|
||||||
Set your time zone. time.timeZone = "America/Amsterdam";
|
|
||||||
|
|
||||||
# Configure network proxy if necessary networking.proxy.default = "http://user:password@proxy:port/"; networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
|
||||||
|
|
||||||
# Select internationalisation properties.
|
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
|
||||||
# console = {
|
|
||||||
# font = "Lat2-Terminus16"; keyMap = "us"; useXkbConfig = true; # use xkb.options in tty.
|
|
||||||
# };
|
|
||||||
|
|
||||||
# Enable the X11 windowing system. services.xserver.enable = true;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Configure keymap in X11 services.xserver.xkb.layout = "us"; services.xserver.xkb.options = "eurosign:e,caps:escape";
|
|
||||||
|
|
||||||
# Enable CUPS to print documents. services.printing.enable = true;
|
|
||||||
|
|
||||||
# Enable sound. hardware.pulseaudio.enable = true; OR services.pipewire = {
|
|
||||||
# enable = true; pulse.enable = true;
|
|
||||||
# };
|
|
||||||
|
|
||||||
# Enable touchpad support (enabled default in most desktopManager). services.libinput.enable = true;
|
|
||||||
|
|
||||||
# Define a user account. Don't forget to set a password with ‘passwd’. users.users.alice = {
|
|
||||||
# isNormalUser = true; extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user. packages = with pkgs; [
|
|
||||||
# firefox tree
|
|
||||||
# ];
|
|
||||||
# };
|
|
||||||
|
|
||||||
# List packages installed in system profile. To search, run: $ nix search wget environment.systemPackages = with pkgs; [
|
|
||||||
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. wget
|
|
||||||
# ];
|
|
||||||
|
|
||||||
# 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;
|
|
||||||
|
|
||||||
# Copy the NixOS configuration file and link it from the resulting system (/run/current-system/configuration.nix). This is useful in case you accidentally delete
|
|
||||||
# configuration.nix. system.copySystemConfiguration = true;
|
|
||||||
|
|
||||||
# This option defines the first version of NixOS you have installed on this particular machine, and is used to maintain compatibility with application data (e.g. databases)
|
|
||||||
# created on older NixOS versions.
|
|
||||||
#
|
|
||||||
# Most users should NEVER change this value after the initial install, for any reason, even if you've upgraded your system to a new NixOS release.
|
|
||||||
#
|
|
||||||
# This value does NOT affect the Nixpkgs version your packages and OS are pulled from, so changing it will NOT upgrade your system - see
|
|
||||||
# https://nixos.org/manual/nixos/stable/#sec-upgrading for how to actually do that.
|
|
||||||
#
|
|
||||||
# This value being lower than the current NixOS release does NOT mean your system is out of date, out of support, or vulnerable.
|
|
||||||
#
|
|
||||||
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration, and migrated your data accordingly.
|
|
||||||
#
|
|
||||||
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
|
|
||||||
system.stateVersion = "24.11"; # Did you read the comment?
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
69
modules/darwin/skhd.nix
Normal file
69
modules/darwin/skhd.nix
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
{
|
||||||
|
services.skhd = {
|
||||||
|
enable = true;
|
||||||
|
skhdConfig = ''
|
||||||
|
# opens iTerm2
|
||||||
|
alt - return : kitty
|
||||||
|
|
||||||
|
# Navigation
|
||||||
|
alt - y : yabai -m window --focus west
|
||||||
|
alt - u : yabai -m window --focus south
|
||||||
|
alt - i : yabai -m window --focus north
|
||||||
|
alt - o : yabai -m window --focus east
|
||||||
|
|
||||||
|
# Moving windows
|
||||||
|
shift + alt - y : yabai -m window --warp west
|
||||||
|
shift + alt - u : yabai -m window --warp south
|
||||||
|
shift + alt - i : yabai -m window --warp north
|
||||||
|
shift + alt - o : yabai -m window --warp east
|
||||||
|
|
||||||
|
# Move focus container to workspace
|
||||||
|
shift + alt - m : yabai -m window --space last; yabai -m space --focus last
|
||||||
|
shift + alt - p : yabai -m window --space prev; yabai -m space --focus prev
|
||||||
|
shift + alt - n : yabai -m window --space next; yabai -m space --focus next
|
||||||
|
shift + alt - 1 : yabai -m window --space 1; yabai -m space --focus 1
|
||||||
|
shift + alt - 2 : yabai -m window --space 2; yabai -m space --focus 2
|
||||||
|
shift + alt - 3 : yabai -m window --space 3; yabai -m space --focus 3
|
||||||
|
shift + alt - 4 : yabai -m window --space 4; yabai -m space --focus 4
|
||||||
|
|
||||||
|
# Resize windows
|
||||||
|
lctrl + alt - y : yabai -m window --resize left:-50:0; \
|
||||||
|
yabai -m window --resize right:-50:0
|
||||||
|
lctrl + alt - u : yabai -m window --resize bottom:0:50; \
|
||||||
|
yabai -m window --resize top:0:50
|
||||||
|
lctrl + alt - i : yabai -m window --resize top:0:-50; \
|
||||||
|
yabai -m window --resize bottom:0:-50
|
||||||
|
lctrl + alt - o : yabai -m window --resize right:50:0; \
|
||||||
|
yabai -m window --resize left:50:0
|
||||||
|
|
||||||
|
# Equalize size of windows
|
||||||
|
lctrl + alt - e : yabai -m space --balance
|
||||||
|
|
||||||
|
# Enable / Disable gaps in current workspace
|
||||||
|
lctrl + alt - g : yabai -m space --toggle padding; yabai -m space --toggle gap
|
||||||
|
|
||||||
|
# Rotate windows clockwise and anticlockwise
|
||||||
|
alt - r : yabai -m space --rotate 270
|
||||||
|
shift + alt - r : yabai -m space --rotate 90
|
||||||
|
|
||||||
|
# Rotate on X and Y Axis
|
||||||
|
shift + alt - x : yabai -m space --mirror x-axis
|
||||||
|
shift + alt - y : yabai -m space --mirror y-axis
|
||||||
|
|
||||||
|
# Set insertion point for focused container
|
||||||
|
shift + lctrl + alt - h : yabai -m window --insert west
|
||||||
|
shift + lctrl + alt - j : yabai -m window --insert south
|
||||||
|
shift + lctrl + alt - k : yabai -m window --insert north
|
||||||
|
shift + lctrl + alt - l : yabai -m window --insert east
|
||||||
|
|
||||||
|
# Float / Unfloat window
|
||||||
|
shift + alt - space : \
|
||||||
|
yabai -m window --toggle float; \
|
||||||
|
yabai -m window --toggle border
|
||||||
|
|
||||||
|
# Make window native fullscreen
|
||||||
|
alt - f : yabai -m window --toggle zoom-fullscreen
|
||||||
|
shift + alt - f : yabai -m window --toggle native-fullscreen
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
|
@ -21,10 +21,11 @@
|
||||||
mouse_drop_action = "swap";
|
mouse_drop_action = "swap";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
services.skhd = { enable = true; };
|
|
||||||
services.jankyborders = {
|
services.jankyborders = {
|
||||||
enable = true;
|
enable = true;
|
||||||
hidpi = true;
|
hidpi = true;
|
||||||
|
inactive_color = "gradient(top_right=0x9992B3F5,bottom_left=0x9992B3F5)";
|
||||||
|
blur_radius = 5.0;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -53,6 +53,22 @@
|
||||||
programs.bash.enable = true;
|
programs.bash.enable = true;
|
||||||
programs.zsh.enable = true;
|
programs.zsh.enable = true;
|
||||||
|
|
||||||
|
programs.kitty = {
|
||||||
|
enable = true;
|
||||||
|
theme = "Tokyo Night";
|
||||||
|
font.name = "CaskaydiaCove Nerd Font";
|
||||||
|
settings = {
|
||||||
|
font_size = 13;
|
||||||
|
window_padding_width = "8 8 0";
|
||||||
|
confirm_os_window_close = -1;
|
||||||
|
shell_integration = "enabled";
|
||||||
|
enable_audio_bell = "no";
|
||||||
|
background_opacity = "0.8";
|
||||||
|
hide_window_decorations = "titlebar-only";
|
||||||
|
background_blur = 32;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
# This value determines the home Manager release that your
|
# This value determines the home Manager release that your
|
||||||
# configuration is compatible with. This helps avoid breakage
|
# configuration is compatible with. This helps avoid breakage
|
||||||
# when a new home Manager release introduces backwards
|
# when a new home Manager release introduces backwards
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
{ lib, ... }:
|
{ lib, ... }: {
|
||||||
{
|
imports = [ ../common.nix ];
|
||||||
imports = [ ../common.nix ];
|
|
||||||
wayland.windowManager.hyprland.settings.input.touchpad = {
|
wayland.windowManager.hyprland.settings.input.touchpad = {
|
||||||
natural_scroll = true;
|
natural_scroll = true;
|
||||||
disable_while_typing = true;
|
disable_while_typing = true;
|
||||||
|
|
|
@ -1,12 +1,6 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }: {
|
||||||
{
|
imports =
|
||||||
imports = [
|
[ ../theming ../home.nix ../programs ../hyprland/laptop ../waybar/laptop ];
|
||||||
../theming
|
|
||||||
../home.nix
|
|
||||||
../programs
|
|
||||||
../hyprland/laptop
|
|
||||||
../waybar/laptop
|
|
||||||
];
|
|
||||||
|
|
||||||
# some overrides for laptop specifically
|
# some overrides for laptop specifically
|
||||||
programs.kitty.settings.font_size = pkgs.lib.mkForce 11;
|
programs.kitty.settings.font_size = pkgs.lib.mkForce 11;
|
||||||
|
|
|
@ -40,6 +40,17 @@ with pkgs; [
|
||||||
nodePackages_latest.pnpm
|
nodePackages_latest.pnpm
|
||||||
rustfmt
|
rustfmt
|
||||||
rust-analyzer
|
rust-analyzer
|
||||||
|
gcc
|
||||||
|
lua51Packages.luarocks
|
||||||
|
lua
|
||||||
|
nodejs_22
|
||||||
|
python3
|
||||||
|
tree-sitter
|
||||||
|
cargo
|
||||||
|
rustc
|
||||||
|
# currently marked broken
|
||||||
|
# haskellPackages.stack
|
||||||
|
# haskellPackages.ghcup
|
||||||
|
|
||||||
# desktop ricing
|
# desktop ricing
|
||||||
bibata-cursors
|
bibata-cursors
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
* {
|
* {
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
|
font-family: CaskaydiaCove Nerd Font;
|
||||||
}
|
}
|
||||||
|
|
||||||
window#waybar {
|
window#waybar {
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
* {
|
* {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
|
font-family: CaskaydiaCove Nerd Font;
|
||||||
}
|
}
|
||||||
|
|
||||||
window#waybar {
|
window#waybar {
|
||||||
|
@ -80,9 +81,9 @@ window#waybar {
|
||||||
#memory,
|
#memory,
|
||||||
#cpu {
|
#cpu {
|
||||||
padding-right: 2px;
|
padding-right: 2px;
|
||||||
border-top-right-radius: 0px;
|
border-top-right-radius: 0px;
|
||||||
border-bottom-right-radius: 0px;
|
border-bottom-right-radius: 0px;
|
||||||
border-right-width: 0px;
|
border-right-width: 0px;
|
||||||
}
|
}
|
||||||
#memory,
|
#memory,
|
||||||
#battery {
|
#battery {
|
||||||
|
|
Loading…
Reference in a new issue