mirror of
https://github.com/youwen5/nixos.git
synced 2024-11-24 17:53: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; };
|
||||
system = "x86_64-linux";
|
||||
modules = [
|
||||
./hosts/nixos
|
||||
./hosts/demeter
|
||||
./modules/nixos/gaming
|
||||
./modules/nixos/audio
|
||||
./modules/nixos/networking
|
||||
./modules/common/fonts
|
||||
./modules/nixos/fonts
|
||||
|
||||
catppuccin.nixosModules.catppuccin
|
||||
lix-module.nixosModules.default
|
||||
|
@ -80,7 +80,7 @@
|
|||
./hosts/callisto
|
||||
./modules/nixos/audio
|
||||
./modules/nixos/networking
|
||||
./modules/common/fonts
|
||||
./modules/nixos/fonts
|
||||
|
||||
apple-silicon.nixosModules.apple-silicon-support
|
||||
catppuccin.nixosModules.catppuccin
|
||||
|
@ -107,10 +107,10 @@
|
|||
formatter.aarch64-linux = nixpkgs.legacyPackages.aarch64-linux.nixfmt;
|
||||
# Build darwin flake using:
|
||||
# $ darwin-rebuild build --flake .#Youwens-MacBook-Pro
|
||||
darwinConfigurations."Youwens-MacBook-Pro" = nix-darwin.lib.darwinSystem {
|
||||
darwinConfigurations.phobos = nix-darwin.lib.darwinSystem {
|
||||
specialArgs = { inherit inputs; };
|
||||
modules = [
|
||||
./modules/darwin/darwin-configuration.nix
|
||||
./hosts/phobos
|
||||
home-manager.darwinModules.home-manager
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
|
@ -127,6 +127,7 @@
|
|||
nix-homebrew.darwinModules.nix-homebrew
|
||||
./modules/darwin/homebrew.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";
|
||||
};
|
||||
};
|
||||
services.skhd = { enable = true; };
|
||||
services.jankyborders = {
|
||||
enable = 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.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
|
||||
# configuration is compatible with. This helps avoid breakage
|
||||
# when a new home Manager release introduces backwards
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{ lib, ... }:
|
||||
{
|
||||
{ lib, ... }: {
|
||||
imports = [ ../common.nix ];
|
||||
wayland.windowManager.hyprland.settings.input.touchpad = {
|
||||
natural_scroll = true;
|
||||
|
|
|
@ -1,12 +1,6 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
imports = [
|
||||
../theming
|
||||
../home.nix
|
||||
../programs
|
||||
../hyprland/laptop
|
||||
../waybar/laptop
|
||||
];
|
||||
{ pkgs, ... }: {
|
||||
imports =
|
||||
[ ../theming ../home.nix ../programs ../hyprland/laptop ../waybar/laptop ];
|
||||
|
||||
# some overrides for laptop specifically
|
||||
programs.kitty.settings.font_size = pkgs.lib.mkForce 11;
|
||||
|
|
|
@ -40,6 +40,17 @@ with pkgs; [
|
|||
nodePackages_latest.pnpm
|
||||
rustfmt
|
||||
rust-analyzer
|
||||
gcc
|
||||
lua51Packages.luarocks
|
||||
lua
|
||||
nodejs_22
|
||||
python3
|
||||
tree-sitter
|
||||
cargo
|
||||
rustc
|
||||
# currently marked broken
|
||||
# haskellPackages.stack
|
||||
# haskellPackages.ghcup
|
||||
|
||||
# desktop ricing
|
||||
bibata-cursors
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
* {
|
||||
font-size: 10px;
|
||||
font-family: CaskaydiaCove Nerd Font;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
* {
|
||||
font-size: 12px;
|
||||
font-family: CaskaydiaCove Nerd Font;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
|
|
Loading…
Reference in a new issue