mirror of
https://github.com/youwen5/nixos.git
synced 2024-11-24 17:53:51 -08:00
Compare commits
No commits in common. "7fb6171dcf1755b7b5543a72bfb96082d5616a02" and "5b3c4b4ee63f6e17c4391c2dd0d7c84c5ceed2b5" have entirely different histories.
7fb6171dcf
...
5b3c4b4ee6
19 changed files with 114 additions and 56 deletions
16
README.md
16
README.md
|
@ -7,7 +7,7 @@ Time wasted writing Nix code:
|
|||
![](https://wakatime.com/badge/user/018dc5b8-ba5a-4572-a38a-b526d1b28240/project/c59b3d5e-0c9c-4bd5-a752-e75522ab0cdc.svg)
|
||||
|
||||
<!-- prettier-ignore -->
|
||||
> **lim·i·nal**
|
||||
> **lim·i·nal**
|
||||
> 1. between or belonging to two different places, states, etc.
|
||||
|
||||
The goal of liminalOS is to allow my computing environment to exist in different
|
||||
|
@ -105,23 +105,21 @@ The [flake.nix](/flake.nix) currently contains my configuration for four hosts:
|
|||
|
||||
## Keybinds
|
||||
|
||||
Non-exhaustive.
|
||||
|
||||
| Shortcut | Action |
|
||||
| -------------------------------------------------------------------------------------------------------- | -------------------------------- |
|
||||
| <kbd>Super</kbd> + <kbd>W</kbd> | Toggle floating |
|
||||
| <kbd>Super</kbd> + <kbd>K</kbd> | Toggle layout |
|
||||
| <kbd>Super</kbd> + <kbd>J</kbd> | Toggle layout |
|
||||
| <kbd>Super</kbd> + <kbd>E</kbd> | Open Dolphin |
|
||||
| <kbd>Super</kbd> + <kbd>T</kbd> | Open kitty |
|
||||
| <kbd>Super</kbd> + <kbd>F</kbd> | Open librewolf |
|
||||
| <kbd>Super</kbd> + <kbd>R</kbd> | Open pavucontrol |
|
||||
| <kbd>Super</kbd> + <kbd>Space</kbd> | Open rofi |
|
||||
| <kbd>Super</kbd> + <kbd>Backspace</kbd> | Open logout menu |
|
||||
| <kbd>Super</kbd> + <kbd>L</kbd> | Screenshot region |
|
||||
| <kbd>Super</kbd> + <kbd>H</kbd><kbd>J</kbd><kbd>K</kbd><kbd>L</kbd> | Move around |
|
||||
| <kbd>Super</kbd> + <kbd>Ctrl</kbd> + <kbd>H</kbd><kbd>L</kbd> | Move workspaces |
|
||||
| <kbd>Super</kbd> + <kbd>Alt</kbd> + <kbd>Ctrl</kbd> + <kbd>H</kbd><kbd>J</kbd><kbd>K</kbd><kbd>L</kbd> | Move windows around workspaces |
|
||||
| <kbd>Super</kbd> + <kbd>Shift</kbd> + <kbd>Ctrl</kbd> + <kbd>H</kbd><kbd>J</kbd><kbd>K</kbd><kbd>L</kbd> | Move windows around |
|
||||
| <kbd>Super</kbd> + <kbd>P</kbd> | Screenshot region |
|
||||
| <kbd>Super</kbd> + <kbd>Y</kbd><kbd>U</kbd><kbd>I</kbd><kbd>O</kbd> | Move around |
|
||||
| <kbd>Super</kbd> + <kbd>Ctrl</kbd> + <kbd>Y</kbd><kbd>O</kbd> | Move workspaces |
|
||||
| <kbd>Super</kbd> + <kbd>Alt</kbd> + <kbd>Ctrl</kbd> + <kbd>Y</kbd><kbd>U</kbd><kbd>I</kbd><kbd>O</kbd> | Move windows around workspaces |
|
||||
| <kbd>Super</kbd> + <kbd>Shift</kbd> + <kbd>Ctrl</kbd> + <kbd>Y</kbd><kbd>U</kbd><kbd>I</kbd><kbd>O</kbd> | Move windows around |
|
||||
| <kbd>Super</kbd> + <kbd>S</kbd> | Open Special Workspace |
|
||||
| <kbd>Super</kbd> + <kbd>Enter</kbd> | Fullscreen Window |
|
||||
| <kbd>Super</kbd> + <kbd>Alt</kbd> + <kbd>S</kbd> | Move Window to Special Workspace |
|
||||
|
|
10
TODOS.md
10
TODOS.md
|
@ -2,14 +2,8 @@
|
|||
|
||||
## P1
|
||||
|
||||
- Massively refactor module system
|
||||
|
||||
## P2
|
||||
|
||||
- [ ] Move wallpapers to submodule
|
||||
- [ ] Move Neovim to submodule
|
||||
|
||||
|
||||
## Done
|
||||
|
||||
- [x] Add Nvidia-specific config options for Hyprland (blocked by P1)
|
||||
- [x] Massively refactor module system
|
||||
- Add Nvidia-specific config options for Hyprland (blocked by P1)
|
||||
|
|
|
@ -134,9 +134,11 @@
|
|||
users.users.youwen = {
|
||||
isNormalUser = true;
|
||||
description = "Youwen Wu";
|
||||
extraGroups = ["networkmanager"];
|
||||
extraGroups = ["networkmanager" "wheel" "nixos" "realtime"];
|
||||
};
|
||||
|
||||
users.groups.realtime = {};
|
||||
|
||||
nix.settings = {
|
||||
trusted-users = ["root" "youwen"];
|
||||
experimental-features = ["nix-command" "flakes"];
|
||||
|
@ -146,6 +148,27 @@
|
|||
KERNEL=="cpu_dma_latency", GROUP="realtime"
|
||||
'';
|
||||
|
||||
security.pam.loginLimits = [
|
||||
{
|
||||
domain = "@realtime";
|
||||
type = "-";
|
||||
item = "rtprio";
|
||||
value = 98;
|
||||
}
|
||||
{
|
||||
domain = "@realtime";
|
||||
type = "-";
|
||||
item = "memlock";
|
||||
value = "unlimited";
|
||||
}
|
||||
{
|
||||
domain = "@realtime";
|
||||
type = "-";
|
||||
item = "nice";
|
||||
value = -11;
|
||||
}
|
||||
];
|
||||
|
||||
# Allow unfree packages
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
|
|
|
@ -5,12 +5,12 @@
|
|||
}: {
|
||||
imports = with inputs; [
|
||||
./configuration.nix
|
||||
../../modules/linux/gaming
|
||||
../../modules/linux/audio
|
||||
../../modules/linux/networking
|
||||
../../modules/linux/fonts
|
||||
../../modules/linux/greeter
|
||||
../../modules/linux/core
|
||||
../../modules/nixos/gaming
|
||||
../../modules/nixos/audio
|
||||
../../modules/nixos/networking
|
||||
../../modules/nixos/fonts
|
||||
../../modules/nixos/greeter
|
||||
../../modules/nixos/core
|
||||
../../overlays
|
||||
|
||||
catppuccin.nixosModules.catppuccin
|
||||
|
|
|
@ -103,9 +103,11 @@
|
|||
users.users.youwen = {
|
||||
isNormalUser = true;
|
||||
description = "Youwen Wu";
|
||||
extraGroups = ["networkmanager"];
|
||||
extraGroups = ["networkmanager" "wheel" "nixos" "realtime"];
|
||||
};
|
||||
|
||||
users.groups.realtime = {};
|
||||
|
||||
nix.settings = {
|
||||
trusted-users = ["root" "youwen"];
|
||||
experimental-features = ["nix-command" "flakes"];
|
||||
|
@ -116,6 +118,27 @@
|
|||
KERNEL=="macsmc-battery", SUBSYSTEM=="power_supply", ATTR{charge_control_end_threshold}="80", ATTR{charge_control_start_threshold}="70"
|
||||
'';
|
||||
|
||||
security.pam.loginLimits = [
|
||||
{
|
||||
domain = "@realtime";
|
||||
type = "-";
|
||||
item = "rtprio";
|
||||
value = 98;
|
||||
}
|
||||
{
|
||||
domain = "@realtime";
|
||||
type = "-";
|
||||
item = "memlock";
|
||||
value = "unlimited";
|
||||
}
|
||||
{
|
||||
domain = "@realtime";
|
||||
type = "-";
|
||||
item = "nice";
|
||||
value = -11;
|
||||
}
|
||||
];
|
||||
|
||||
# Allow unfree packages
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
|
|
|
@ -5,11 +5,11 @@
|
|||
}: {
|
||||
imports = with inputs; [
|
||||
./configuration.nix
|
||||
../../modules/linux/audio
|
||||
../../modules/linux/networking
|
||||
../../modules/linux/fonts
|
||||
../../modules/linux/greeter
|
||||
../../modules/linux/core
|
||||
../../modules/nixos/audio
|
||||
../../modules/nixos/networking
|
||||
../../modules/nixos/fonts
|
||||
../../modules/nixos/greeter
|
||||
../../modules/nixos/core
|
||||
../../overlays
|
||||
|
||||
apple-silicon.nixosModules.apple-silicon-support
|
||||
|
|
|
@ -117,9 +117,11 @@
|
|||
users.users.youwen = {
|
||||
isNormalUser = true;
|
||||
description = "Youwen Wu";
|
||||
extraGroups = ["networkmanager"];
|
||||
extraGroups = ["networkmanager" "wheel" "nixos" "realtime"];
|
||||
};
|
||||
|
||||
users.groups.realtime = {};
|
||||
|
||||
nix.settings = {
|
||||
trusted-users = ["root" "youwen"];
|
||||
experimental-features = ["nix-command" "flakes"];
|
||||
|
@ -129,6 +131,27 @@
|
|||
KERNEL=="cpu_dma_latency", GROUP="realtime"
|
||||
'';
|
||||
|
||||
security.pam.loginLimits = [
|
||||
{
|
||||
domain = "@realtime";
|
||||
type = "-";
|
||||
item = "rtprio";
|
||||
value = 98;
|
||||
}
|
||||
{
|
||||
domain = "@realtime";
|
||||
type = "-";
|
||||
item = "memlock";
|
||||
value = "unlimited";
|
||||
}
|
||||
{
|
||||
domain = "@realtime";
|
||||
type = "-";
|
||||
item = "nice";
|
||||
value = -11;
|
||||
}
|
||||
];
|
||||
|
||||
# Allow unfree packages
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
|
|
|
@ -5,13 +5,13 @@
|
|||
}: {
|
||||
imports = with inputs; [
|
||||
./configuration.nix
|
||||
../../modules/linux/gaming
|
||||
../../modules/linux/audio
|
||||
../../modules/linux/networking
|
||||
../../modules/linux/fonts
|
||||
../../modules/linux/greeter
|
||||
../../modules/linux/core
|
||||
../../modules/linux/hamachi
|
||||
../../modules/nixos/gaming
|
||||
../../modules/nixos/audio
|
||||
../../modules/nixos/networking
|
||||
../../modules/nixos/fonts
|
||||
../../modules/nixos/greeter
|
||||
../../modules/nixos/core
|
||||
../../modules/nixos/hamachi
|
||||
../../overlays
|
||||
|
||||
catppuccin.nixosModules.catppuccin
|
||||
|
|
|
@ -1,14 +0,0 @@
|
|||
{
|
||||
security.sudo.enable = false;
|
||||
|
||||
security.doas = {
|
||||
enable = true;
|
||||
extraRules = [
|
||||
{
|
||||
users = ["youwen"];
|
||||
keepEnv = true;
|
||||
persist = true;
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
2
modules/nixos/core/default.nix
Normal file
2
modules/nixos/core/default.nix
Normal file
|
@ -0,0 +1,2 @@
|
|||
{
|
||||
}
|
|
@ -76,14 +76,23 @@
|
|||
programs.fish = {
|
||||
enable = true;
|
||||
shellAliases = {
|
||||
rebuild = "sudo nixos-rebuild switch";
|
||||
ls = "eza -l --icons=auto";
|
||||
};
|
||||
shellInit = ''
|
||||
oh-my-posh disable notice
|
||||
'';
|
||||
functions = {
|
||||
update-nixos = {
|
||||
description = "Update the system flake and attempt to build and switch to the new configuration.";
|
||||
body = ''
|
||||
cd /etc/nixos
|
||||
nix flake update
|
||||
sudo nixos-rebuild switch
|
||||
'';
|
||||
};
|
||||
};
|
||||
interactiveShellInit = ''
|
||||
fish_vi_key_bindings
|
||||
set -g fish_greeting
|
||||
oh-my-posh disable notice
|
||||
'';
|
||||
plugins = [
|
||||
{
|
||||
|
|
|
@ -455,7 +455,6 @@
|
|||
indent-blankline.enable = true;
|
||||
which-key.enable = true;
|
||||
zen-mode.enable = true;
|
||||
nvim-autopairs.enable = true;
|
||||
yanky = {
|
||||
enable = true;
|
||||
enableTelescope = true;
|
||||
|
@ -549,6 +548,7 @@
|
|||
enable = true;
|
||||
modules = {
|
||||
surround = {};
|
||||
pairs = {};
|
||||
ai = {};
|
||||
hipatterns = {};
|
||||
notify = {};
|
||||
|
|
Loading…
Reference in a new issue