Merge branch 'main' into stylix

This commit is contained in:
Tyler Mayoff 2025-02-14 20:01:09 -05:00
commit d1055552bc
60 changed files with 3863 additions and 248 deletions

View file

@ -83,18 +83,21 @@
},
"darwin": {
"inputs": {
"nixpkgs": "nixpkgs"
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1737162735,
"narHash": "sha256-5T+HkouTMGaRm0rh3kgD4Z1O7ONKfgjyoPQH5rSyreU=",
"lastModified": 1737421067,
"narHash": "sha256-/hgw8fDKDpko0XqOw1e9tX8lS2Hqecg7W/JsONun6Qc=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "87131f51f8256952d1a306b5521cedc2dc61aa08",
"rev": "cae8d1c4a3bd37be5887203fe3b0c3a860c53a07",
"type": "github"
},
"original": {
"owner": "lnl7",
"ref": "nix-darwin-24.11",
"repo": "nix-darwin",
"type": "github"
}
@ -118,6 +121,24 @@
}
},
"flake-utils_2": {
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_3": {
"locked": {
"lastModified": 1659877975,
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
@ -132,6 +153,21 @@
"type": "github"
}
},
"flakey-profile": {
"locked": {
"lastModified": 1712898590,
"narHash": "sha256-FhGIEU93VHAChKEXx905TSiPZKga69bWl1VB37FK//I=",
"owner": "lf-",
"repo": "flakey-profile",
"rev": "243c903fd8eadc0f63d205665a92d4df91d42d9d",
"type": "github"
},
"original": {
"owner": "lf-",
"repo": "flakey-profile",
"type": "github"
}
},
"flake-utils_3": {
"inputs": {
"systems": [
@ -243,20 +279,20 @@
"inputs": {
"crane": "crane",
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs_2",
"nixpkgs": "nixpkgs",
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1735933851,
"narHash": "sha256-xN5pImisRyD4cnkUkc9uJeyeeex2dyZWeJugjoLjqyI=",
"lastModified": 1737319839,
"narHash": "sha256-wGfX2YcD9Hyqi7sQ8FSqUbN8/Rhftp01YyHoTWYPL8U=",
"owner": "helix-editor",
"repo": "helix",
"rev": "dabfb6ceeae1da57fb93efcd254e917db49655e6",
"rev": "e7ac2fcdecfdbf43a4f772e7f7c163b43b3d0b9b",
"type": "github"
},
"original": {
"owner": "helix-editor",
"ref": "25.01",
"ref": "25.01.1",
"repo": "helix",
"type": "github"
}
@ -268,11 +304,11 @@
]
},
"locked": {
"lastModified": 1737299337,
"narHash": "sha256-0NBrY2A7buujKmeCbieopOMSbLxTu8TFcTLqAbTnQDw=",
"lastModified": 1739051380,
"narHash": "sha256-p1QSLO8DJnANY+ppK7fjD8GqfCrEIDjso1CSRHsXL7Y=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "f8ef4541bb8a54a8b52f19b52912119e689529b3",
"rev": "5af1b9a0f193ab6138b89a8e0af8763c21bbf491",
"type": "github"
},
"original": {
@ -303,10 +339,45 @@
"type": "github"
}
},
"nixgl": {
"lix": {
"flake": false,
"locked": {
"lastModified": 1737234286,
"narHash": "sha256-CCKIAE84dzkrnlxJCKFyffAxP3yfsOAbdvydUGqq24g=",
"rev": "2837da71ec1588c1187d2e554719b15904a46c8b",
"type": "tarball",
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/2837da71ec1588c1187d2e554719b15904a46c8b.tar.gz?rev=2837da71ec1588c1187d2e554719b15904a46c8b"
},
"original": {
"type": "tarball",
"url": "https://git.lix.systems/lix-project/lix/archive/2.92.0.tar.gz"
}
},
"lix-module": {
"inputs": {
"flake-utils": "flake-utils_2",
"nixpkgs": "nixpkgs_3"
"flakey-profile": "flakey-profile",
"lix": "lix",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1737237494,
"narHash": "sha256-YMLrcBpf0TR5r/eaqm8lxzFPap2TxCor0ZGcK3a7+b8=",
"rev": "b90bf629bbd835e61f1317b99e12f8c831017006",
"type": "tarball",
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/b90bf629bbd835e61f1317b99e12f8c831017006.tar.gz?rev=b90bf629bbd835e61f1317b99e12f8c831017006"
},
"original": {
"type": "tarball",
"url": "https://git.lix.systems/lix-project/nixos-module/archive/2.92.0.tar.gz"
}
},
"nixgl": {
"inputs": {
"flake-utils": "flake-utils_3",
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1713543440,
@ -323,38 +394,6 @@
}
},
"nixpkgs": {
"locked": {
"lastModified": 1736241350,
"narHash": "sha256-CHd7yhaDigUuJyDeX0SADbTM9FXfiWaeNyY34FL1wQU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "8c9fd3e564728e90829ee7dbac6edc972971cd0f",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1737062831,
"narHash": "sha256-Tbk1MZbtV2s5aG+iM99U8FqwxU/YNArMcWAv6clcsBc=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "5df43628fdf08d642be8ba5b3625a6c70731c19c",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1728018373,
"narHash": "sha256-NOiTvBbRLIOe5F6RbHaAh6++BNjsb149fGZd1T4+KBg=",
@ -370,7 +409,23 @@
"type": "github"
}
},
"nixpkgs_3": {
"nixpkgs-unstable": {
"locked": {
"lastModified": 1739020877,
"narHash": "sha256-mIvECo/NNdJJ/bXjNqIh8yeoSjVLAuDuTUzAo7dzs8Y=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "a79cfe0ebd24952b580b1cf08cd906354996d547",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1660551188,
"narHash": "sha256-a1LARMMYQ8DPx1BgoI/UN4bXe12hhZkCNqdxNi6uS0g=",
@ -385,13 +440,13 @@
"type": "github"
}
},
"nixpkgs_4": {
"nixpkgs_3": {
"locked": {
"lastModified": 1737299813,
"narHash": "sha256-Qw2PwmkXDK8sPQ5YQ/y/icbQ+TYgbxfjhgnkNJyT1X8=",
"lastModified": 1738843498,
"narHash": "sha256-7x+Q4xgFj9UxZZO9aUDCR8h4vyYut4zPUvfj3i+jBHE=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "107d5ef05c0b1119749e381451389eded30fb0d5",
"rev": "f5a32fa27df91dfc4b762671a0e0a859a8a0058f",
"type": "github"
},
"original": {
@ -422,8 +477,9 @@
"darwin": "darwin",
"helix": "helix",
"home-manager": "home-manager",
"lix-module": "lix-module",
"nixgl": "nixgl",
"nixpkgs": "nixpkgs_4",
"nixpkgs": "nixpkgs_3",
"nixpkgs-unstable": "nixpkgs-unstable"
}
},
@ -510,56 +566,6 @@
"repo": "default",
"type": "github"
}
},
"tinted-foot": {
"flake": false,
"locked": {
"lastModified": 1726913040,
"narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=",
"owner": "tinted-theming",
"repo": "tinted-foot",
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "tinted-foot",
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
"type": "github"
}
},
"tinted-kitty": {
"flake": false,
"locked": {
"lastModified": 1716423189,
"narHash": "sha256-2xF3sH7UIwegn+2gKzMpFi3pk5DlIlM18+vj17Uf82U=",
"owner": "tinted-theming",
"repo": "tinted-kitty",
"rev": "eb39e141db14baef052893285df9f266df041ff8",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "tinted-kitty",
"rev": "eb39e141db14baef052893285df9f266df041ff8",
"type": "github"
}
},
"tinted-tmux": {
"flake": false,
"locked": {
"lastModified": 1729501581,
"narHash": "sha256-1ohEFMC23elnl39kxWnjzH1l2DFWWx4DhFNNYDTYt54=",
"owner": "tinted-theming",
"repo": "tinted-tmux",
"rev": "f0e7f7974a6441033eb0a172a0342e96722b4f14",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "tinted-tmux",
"type": "github"
}
}
},
"root": "root",

View file

@ -4,20 +4,28 @@
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
lix-module = {
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.92.0.tar.gz";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
nixgl.url = "github:nix-community/nixGL";
helix.url = "github:helix-editor/helix/25.01";
helix.url = "github:helix-editor/helix/25.01.1";
stylix.url = "github:danth/stylix/release-24.11";
darwin.url = "github:lnl7/nix-darwin";
darwin = {
url = "github:lnl7/nix-darwin/nix-darwin-24.11";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = {
self,
nixpkgs,
nixpkgs-unstable,
lix-module,
home-manager,
darwin,
helix,
@ -44,11 +52,44 @@
specialArgs = {inherit inputs outputs;};
modules = [./nixos/mal/configuration.nix];
};
wash = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs outputs;};
modules = [
lix-module.nixosModules.default
./nixos/wash/configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = {inherit inputs outputs;};
home-manager.users.tyler = import ./home/wash/wash.nix;
}
];
};
};
darwinConfigurations."MAC-C57KK2TC69" = darwin.lib.darwinSystem {
specialArgs = {inherit inputs outputs;};
modules = [./home/hinge/darwin.nix];
pkgs = allPkgs."aarch64-darwin";
specialArgs = {inherit inputs;};
modules = [
lix-module.nixosModules.default
./home/hinge/darwin.nix
home-manager.darwinModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = {inherit inputs outputs;};
home-manager.users."tyler.mayoff" = import ./home/hinge/hinge.nix;
users.users."tyler.mayoff".home = "/Users/tyler.mayoff";
}
];
};
homeConfigurations = {
@ -64,17 +105,17 @@
modules = [stylix.homeManagerModules.stylix ./home/wash/wash.nix];
};
"tyler@mal" = home-manager.lib.homeManagerConfiguration {
pkgs = allPkgs;
extraSpecialArgs = {inherit inputs outputs;};
modules = [./home/mal/mal.nix];
};
# "tyler@mal" = home-manager.lib.homeManagerConfiguration {
# pkgs = allPkgs;
# extraSpecialArgs = {inherit inputs outputs;};
# modules = [./home/mal/mal.nix];
# };
"tyler.mayoff@MAC-C57KK2TC69" = home-manager.lib.homeManagerConfiguration {
pkgs = allPkgs."aarch64-darwin";
extraSpecialArgs = {inherit inputs outputs;};
modules = [stylix.homeManagerModules.stylix ./home/hinge/hinge.nix];
};
# "tyler.mayoff@MAC-C57KK2TC69" = home-manager.lib.homeManagerConfiguration {
# pkgs = allPkgs."aarch64-darwin";
# extraSpecialArgs = {inherit inputs outputs;};
# modules = [./home/hinge/hinge.nix];
# };
};
};
}

View file

@ -1,25 +1,19 @@
{
inputs,
outputs,
# lib,
# config,
pkgs,
...
}: {
nixpkgs.config.allowUnfree = true;
home.username = "tyler";
home.homeDirectory = "/home/tyler";
#nixpkgs.config.allowUnfree = true;
home.enableNixpkgsReleaseCheck = false;
xdg.enable = true;
imports = [
./shell.nix
./fish.nix
./nushell.nix
# ./nom.nix
# ./neovim.nix
];
nixpkgs = {
@ -32,10 +26,7 @@
};
home.packages = with pkgs; [
# Fonts
#(nerdfonts.override {fonts = ["JetBrainsMono"];})
unstable.nix-output-monitor
# unstable.nix-output-monitor
# dotfiles
age
@ -57,7 +48,7 @@
git
fzf
zoxide
just
# Software Dev
tig
@ -128,6 +119,8 @@
programs.zellij = {
enable = true;
package = pkgs.unstable.zellij;
enableFishIntegration = false;
enableZshIntegration = false;
};
programs.starship = {
@ -156,6 +149,10 @@
shellWrapperName = "y";
};
home.stateVersion = "23.11";
programs.zoxide = {
enable = true;
};
# home.stateVersion = "23.11";
programs.home-manager.enable = true;
}

View file

@ -0,0 +1,21 @@
{...}: {
home.shellAliases = {
# Git
gc = "git commit";
gcm = "git commit -m";
gac = "git add . and git commit";
gacp = "gac and git push";
gs = "git status";
# nix
flake = "nix flake";
# home-manager
hm-upgrade = "nix flake update --flake ~/.local/share/chezmoi/dot_config/flake#";
hm-update = "home-manager switch --flake ~/.config/flake";
# chezmoi
dot_apply = "chezmoi apply";
dot_pull = "chezmoi update";
};
}

View file

@ -7,8 +7,8 @@
set -gx DEBEMAIL "tyler@tylermayoff.com"
fish_add_path $HOME/.local/bin
fish_add_path /opt/homebrew/bin
fish_add_path /opt/homebrew/opt/llvm@18/bin
# fish_add_path /opt/homebrew/bin
# fish_add_path /opt/homebrew/opt/llvm@18/bin
if test -e $HOME/.config/fish/variables-$(hostname)fish
source $HOME/.config/fish/variables-$(hostname).fish
@ -39,36 +39,5 @@
src = pkgs.fishPlugins.forgit.src;
}
];
shellAliases = {
# ls
ls = "eza $eza_params";
l = "eza --git-ignore $eza_params";
ll = "eza --all --header --long $eza_params";
llm = "eza --all --header --long --sort=modified $eza_params";
la = "eza -lbhHigUmuSa";
lx = "eza -lbhHigUmuSa@";
lt = "eza --tree $eza_params";
tree = "eza --tree $eza_params";
# Git
gc = "git commit";
gcm = "git commit -m";
gac = "git add . && git commit";
gacp = "gac && git push";
gs = "git status";
# yac = "yadm add . && yadm commit";
# yacp = "yac && yadm push";
# yc = "pushd $HOME/.local/share/yadm/repo.git && git-forgit add && yadm commit && popd";
# yd = "pushd $HOME/.local/share/yadm/repo.git && git-forgit diff && popd";
# nix
flake = "nix flake";
# home-manager
hm-upgrade = "nix flake update --flake ~/.local/share/chezmoi/dot_config/flake#";
hm-update = "home-manager switch --flake ~/.config/flake";
};
};
}

View file

@ -21,6 +21,8 @@
# Office
libreoffice
obsidian
(config.lib.nixGL.wrap unstable.onagre)
];
# programs.vscode.enable = true;

View file

@ -8,9 +8,14 @@
}: {
imports = [../common.nix];
home.packages = with pkgs; [
# clang_17
# clang-tools
just
];
home = {
username = "tyler";
homeDirectory = "/home/tyler";
packages = with pkgs; [
# clang_17
# clang-tools
just
];
};
}

View file

@ -1,8 +1,62 @@
{
inputs,
outputs,
pkgs,
lib,
...
}: {
# services.aerospace.enable = true;
imports = [
# ../fish.nix
./sketchybar.nix
];
nixpkgs = {
overlays = [
outputs.overlays.additions
outputs.overlays.modifications
outputs.overlays.unstable-packages
];
config = {
allowUnfree = true;
};
};
nix.extraOptions =
''
auto-optimise-store = true
experimental-features = nix-command flakes
''
+ lib.optionalString (pkgs.system == "aarch64-darwin") ''
extra-platforms = x86_64-darwin aarch64-darwin
'';
users.knownUsers = ["tyler.mayoff"];
users.users."tyler.mayoff" = {
uid = 502;
shell = pkgs.fish;
};
system.defaults.NSGlobalDomain._HIHideMenuBar = true;
security.pam.enableSudoTouchIdAuth = true;
environment.systemPackages = with pkgs; [
pinentry_mac
llvmPackages_19.clang-tools
sketchybar
sbarlua
lua
# android-tools
jdk17
];
programs.fish.enable = true;
programs.zsh.enable = true;
system.stateVersion = 5;
}

View file

@ -1,24 +1,15 @@
{
lib,
pkgs,
...
}: let
# mac-app-util-src = builtins.fetchTarball {
# url = "https://github.com/hraban/mac-app-util/archive/master.tar.gz";
# sha256 = "1w80vjcnaysjlzxsp3v4pxq4yswbjvxs8ann2bk0m7rkjljnzz6m";
# };
# mac-app-util = import mac-app-util-src {};
in rec {
{pkgs, ...}: {
imports = [
../stylix.nix
../common.nix
../kitty.nix
# mac-app-util.homeManagerModules.default
];
# xdg.enable = lib.mkForce false;
home = {
username = lib.mkForce "tyler.mayoff";
homeDirectory = lib.mkForce "/Users/tyler.mayoff";
username = "tyler.mayoff";
# homeDirectory = /Users/tyler.mayoff;
packages = with pkgs; [
bazel_7
@ -26,10 +17,7 @@ in rec {
conan
black
# clang
# biome
deno
swiftlint
unstable.helix-gpt
unstable.lsp-ai
@ -42,13 +30,17 @@ in rec {
just
yarn
cocoapods
# android-tools
jdk17
];
sessionVariables = {
ANDROID_HOME = "/Users/tyler.mayoff/Library/Android/sdk";
PATH = "$PATH:/Users/tyler.mayoff/Library/Android/sdk/platform-tools";
};
file.".gnupg/gpg-agent.conf".text = ''
pinentry-program ${pkgs.pinentry_mac}/Applications/pinentry-mac.app/Contents/MacOS/pinentry-mac
'';
};
home.stateVersion = "24.11";
}

View file

@ -0,0 +1,6 @@
{...}: {
# services.sketchybar = {
# enable = true;
# extraPackages = [];
# };
}

View file

@ -1,3 +1,8 @@
{pkgs, ...}: {
imports = [../common.nix];
home = {
username = "tyler";
homeDirectory = "/home/tyler";
};
}

View file

@ -1,44 +1,48 @@
{pkgs, ...}: {
{
config,
pkgs,
lib,
...
}: {
programs.nushell = {
enable = true;
envFile = {
text = ''
$env.EDITOR = hx
$env.GIT_EDITOR = $env.EDITOR
$env.DEBMAIL = "tyler@tylermayoff.com"
$env.XDG_CONFIG_HOME = "$HOME/.config"
$env.XDG_CACHE_HOME = "$HOME/.cache"
$env.XDG_DATA_HOME = "$HOME/.local/share"
$env.XDG_STATE_HOME = "$HOME/.local/state"
zoxide init nushell | save -f ~/.config/nushell/zoxide.nu
'';
};
shellAliases = {
# Git
gc = "git commit";
gcm = "git commit -m";
gac = "git add . and git commit";
gacp = "gac and git push";
gs = "git status";
yac = "yadm add --interactive and yadm commit";
yacp = "yac and yadm push";
# nix
flake = "nix flake";
# home-manager
hm-upgrade = "nix flake update --flake ~/.config/home-manager/";
hm-update = "home-manager switch --impure";
hm-upgrade = "nix flake update --flake ~/.local/share/chezmoi/dot_config/flake#";
hm-update = "home-manager switch --flake ~/.config/flake";
# chezmoi
dot_apply = "chezmoi apply";
dot_pull = "chezmoi update";
};
configFile = {
text = ''
source ~/.config/nushell/zoxide.nu
'';
};
extraConfig = ''
$env.PATH = ($env.PATH | split row (char esep) | append "~/.nix-profile/bin")
$env.PATH = ($env.PATH | split row (char esep) | append "/nix/var/nix/profiles/default/bin")
$env.config.show_banner = false
def gcm [message: string] {
gc -m $"($message)"
}
use ${pkgs.nu_scripts}/share/nu_scripts/nu-hooks/nu-hooks/direnv/direnv.nu *
use ${pkgs.nu_scripts}/share/nu_scripts/aliases/git/git-aliases.nu *
use ${pkgs.nu_scripts}/share/nu_scripts/custom-completions/git/git-completions.nu *
use ${pkgs.nu_scripts}/share/nu_scripts/custom-completions/just/just-completions.nu *
use ${pkgs.nu_scripts}/share/nu_scripts/custom-completions/rg/rg-completions.nu *
use ${pkgs.nu_scripts}/share/nu_scripts/custom-completions/zellij/zellij-completions.nu *
'';
};
}

View file

@ -1,7 +1,348 @@
{pkgs, ...}: {
imports = [../common.nix ../gnome.nix ../home-backup.nix ../gui.nix ../stylix.nix];
{
config,
pkgs,
...
}: let
mod = "Mod4";
term = "kitty";
menu = "wmenu-run";
in {
imports = [../common.nix ../gnome.nix ../home-backup.nix ../gui.nix];
home.packages = with pkgs; [
ventoy
];
programs.feh.enable = true;
programs.waybar = {
enable = true;
style = ''
* {
font-size: 15px;
font-family: "CodeNewRoman Nerd Font Propo";
}
window#waybar {
all:unset;
}
.modules-left {
padding: 7px;
margin: 10 0 5 10;
border-radius: 10px;
background: alpha(@background, .6);
box-shadow: 0px 0px 2px rgba(0, 0, 0, .6);
}
.modules-center {
padding: 7px;
margin: 10 0 5 0;
border-radius: 10px;
background: alpha(@background, .6);
box-shadow: 0px 0px 2px rgab(0, 0, 0, .6);
}
.modules-right {
padding: 7px;
margin: 10 0 5 0;
border-radius: 10px;
background: alpha(@background, .6);
box-shadow: 0px 0px 2px rgab(0, 0, 0, .6);
}
tooltip {
background: @background
}
'';
settings = {
mainBar = {
layer = "top";
position = "top";
reload_style_on_change = true;
modules-left = ["clock" "tray"];
modules-center = ["sway/workspaces"];
modules-right = ["battery"];
"sway/workspaces" = {
format = "{icon}";
format-icons = {
active = "";
default = "";
empty = "";
};
};
"clock" = {
format = "{:%I:%M:%S %p} ";
interval = 1;
tooltip-format = "<tt>{calendar}</tt>";
calendar = {
format = {
today = "<span color='#fAfBfC'><b>{}</b></span>";
};
};
actions = {
on-click-right = "shift_down";
on-clock = "shift_up";
};
};
battery = {
interval = 30;
states = {
good = 95;
warning = 30;
critical = 20;
};
format = "{capacity}% {icon}";
format-charging = "{capacicty}% 󰂄";
format-plugged = "{capacity}% 󰂄 ";
format-alt = "{time} {icon}";
format-icons = [
"󰁻"
"󰁼"
"󰁾"
"󰂀"
"󰂂"
"󰁹"
];
};
tray = {
icon-size = 14;
spacing = 10;
};
};
};
};
wayland.windowManager.sway = {
enable = true;
checkConfig = true;
config = {
output."*".scale = "1";
startup = [
{command = "feh .config/flake/wallpaper.jpp";}
];
# Home row direction keys, like vim
up = "k";
left = "h";
down = "j";
right = "l";
### Idle configuration
#
# Example configuration:
#
# exec swayidle -w \
# timeout 300 'swaylock -f -c 000000' \
# timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \
# before-sleep 'swaylock -f -c 000000'
#
# This will lock your screen after 300 seconds of inactivity, then turn off
# your displays after another 300 seconds, and turn your screens back on when
# resumed. It will also lock your screen before your computer goes to sleep.
### Input configuration
#
# Example configuration:
#
# input "2:14:SynPS/2_Synaptics_TouchPad" {
# dwt enabled
# tap enabled
# natural_scroll enabled
# middle_emulation enabled
# }
#
# You can get the names of your inputs by running: swaymsg -t get_inputs
# Read `man 5 sway-input` for more information about this section.
input = {
"*" = {
tap = "enabled";
natural_scroll = "enabled";
};
};
### Key bindings
#
# Basics:
keybindings = {
# Start a terminal
"${mod}+Return" = "exec ${term}";
# Kill focused window
"${mod}+Shift+q" = "kill";
# Start launcher
"${mod}+d" = "exec ${menu}";
# Reload the configuration file
"${mod}+Shift+c" = "reload";
"${mod}+r" = "mode resize";
# Moving around:
# Move your focus around
# "${mod}+$left" = "focus left";
# "${mod}+$down" = "focus down";
# "${mod}+$up" = "focus up";
# "${mod}+$right" = "focus right";
# Or use $mod+[up|down|left|right]
"${mod}+Left" = "focus left";
"${mod}+Down" = "focus down";
"${mod}+Up" = "focus up";
"${mod}+Right" = "focus right";
};
# Drag floating windows by holding down $mod and left mouse button.
# Resize them with right mouse button + $mod.
# Despite the name, also works for non-floating windows.
# Change normal to inverse to use left mouse button for resizing and right
# mouse button for dragging.
# floating_modifier $mod normal
# Exit sway (logs you out of your Wayland session)
# bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
# # Move the focused window with the same, but add Shift
# bindsym $mod+Shift+$left move left
# bindsym $mod+Shift+$down move down
# bindsym $mod+Shift+$up move up
# bindsym $mod+Shift+$right move right
# # Ditto, with arrow keys
# bindsym $mod+Shift+Left move left
# bindsym $mod+Shift+Down move down
# bindsym $mod+Shift+Up move up
# bindsym $mod+Shift+Right move right
# #
# # Workspaces:
# #
# # Switch to workspace
# bindsym $mod+1 workspace number 1
# bindsym $mod+2 workspace number 2
# bindsym $mod+3 workspace number 3
# bindsym $mod+4 workspace number 4
# bindsym $mod+5 workspace number 5
# bindsym $mod+6 workspace number 6
# bindsym $mod+7 workspace number 7
# bindsym $mod+8 workspace number 8
# bindsym $mod+9 workspace number 9
# bindsym $mod+0 workspace number 10
# # Move focused container to workspace
# bindsym $mod+Shift+1 move container to workspace number 1
# bindsym $mod+Shift+2 move container to workspace number 2
# bindsym $mod+Shift+3 move container to workspace number 3
# bindsym $mod+Shift+4 move container to workspace number 4
# bindsym $mod+Shift+5 move container to workspace number 5
# bindsym $mod+Shift+6 move container to workspace number 6
# bindsym $mod+Shift+7 move container to workspace number 7
# bindsym $mod+Shift+8 move container to workspace number 8
# bindsym $mod+Shift+9 move container to workspace number 9
# bindsym $mod+Shift+0 move container to workspace number 10
# # Note: workspaces can have any name you want, not just numbers.
# # We just use 1-10 as the default.
# #
# # Layout stuff:
# #
# # You can "split" the current object of your focus with
# # $mod+b or $mod+v, for horizontal and vertical splits
# # respectively.
# bindsym $mod+b splith
# bindsym $mod+v splitv
# # Switch the current container between different layout styles
# bindsym $mod+s layout stacking
# bindsym $mod+w layout tabbed
# bindsym $mod+e layout toggle split
# # Make the current focus fullscreen
# bindsym $mod+f fullscreen
# # Toggle the current focus between tiling and floating mode
# bindsym $mod+Shift+space floating toggle
# # Swap focus between the tiling area and the floating area
# bindsym $mod+space focus mode_toggle
# # Move focus to the parent container
# bindsym $mod+a focus parent
# #
# # Scratchpad:
# #
# # Sway has a "scratchpad", which is a bag of holding for windows.
# # You can send windows there and get them back later.
# # Move the currently focused window to the scratchpad
# bindsym $mod+Shift+minus move scratchpad
# # Show the next scratchpad window or hide the focused scratchpad window.
# # If there are multiple scratchpad windows, this command cycles through them.
# bindsym $mod+minus scratchpad show
# #
# # Resizing containers:
# #
# mode "resize" {
# # left will shrink the containers width
# # right will grow the containers width
# # up will shrink the containers height
# # down will grow the containers height
# bindsym $left resize shrink width 10px
# bindsym $down resize grow height 10px
# bindsym $up resize shrink height 10px
# bindsym $right resize grow width 10px
# # Ditto, with arrow keys
# bindsym Left resize shrink width 10px
# bindsym Down resize grow height 10px
# bindsym Up resize shrink height 10px
# bindsym Right resize grow width 10px
# # Return to default mode
# bindsym Return mode "default"
# bindsym Escape mode "default"
# }
# #
# # Utilities:
# #
# # Special keys to adjust volume via PulseAudio
# bindsym --locked XF86AudioMute exec pactl set-sink-mute \@DEFAULT_SINK@ toggle
# bindsym --locked XF86AudioLowerVolume exec pactl set-sink-volume \@DEFAULT_SINK@ -5%
# bindsym --locked XF86AudioRaiseVolume exec pactl set-sink-volume \@DEFAULT_SINK@ +5%
# bindsym --locked XF86AudioMicMute exec pactl set-source-mute \@DEFAULT_SOURCE@ toggle
# # Special keys to adjust brightness via brightnessctl
# bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%-
# bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+
# # Special key to take a screenshot with grim
# bindsym Print exec grim
#
# Status Bar:
#
# Read `man 5 sway-bar` for more information about this section.
bars = [
{
command = "waybar";
position = "top";
}
];
};
};
home = {
username = "tyler";
homeDirectory = "/home/tyler";
packages = with pkgs; [
ventoy
(config.lib.nixGL.wrap renderdoc)
];
stateVersion = "23.11";
};
}

View file

@ -0,0 +1,151 @@
# 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).
{
outputs,
pkgs,
...
}: {
imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix
];
nixpkgs = {
overlays = [
outputs.overlays.additions
outputs.overlays.modifications
outputs.overlays.unstable-packages
];
config = {
allowUnfree = true;
};
};
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
nix.settings.experimental-features = ["nix-command" "flakes"];
networking.hostName = "wash"; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Enable networking
networking.networkmanager.enable = true;
# Set your time zone.
time.timeZone = "America/New_York";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
};
# Enable the X11 windowing system.
services.xserver.enable = true;
# Enable the GNOME Desktop Environment.
services.xserver.displayManager.gdm.enable = true;
services.xserver.desktopManager.gnome.enable = true;
# Configure keymap in X11
services.xserver.xkb = {
layout = "us";
variant = "";
};
# Enable CUPS to print documents.
services.printing.enable = true;
services.fprintd.enable = true;
# Enable sound with pipewire.
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
# If you want to use JACK applications, uncomment this
#jack.enable = true;
# use the example session manager (no others are packaged yet so this is enabled by default,
# no need to redefine it in your config for now)
#media-session.enable = true;
};
services.gnome.gnome-keyring.enable = true;
# Enable touchpad support (enabled default in most desktopManager).
# services.xserver.libinput.enable = true;
# Define a user account. Don't forget to set a password with passwd.
users.users.tyler = {
isNormalUser = true;
description = "tyler";
extraGroups = ["networkmanager" "wheel"];
shell = pkgs.fish;
};
environment.systemPackages = with pkgs; [
sqlite
vscode
];
fonts.packages = with pkgs; [
nerdfonts
];
# Install firefox.
programs.firefox.enable = true;
programs.fish.enable = true;
programs.sway = {
enable = true;
# package = null;
wrapperFeatures.gtk = true;
};
# 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. Its 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 = "24.11"; # Did you read the comment?
}

View file

@ -0,0 +1,40 @@
# 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" "xhci_pci" "thunderbolt" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/16fd6400-4e28-4d88-8719-a76aa590f59c";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/6BB1-3DA5";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/eac18653-6290-46d3-b925-c1974f2c8f48"; }
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp1s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -1,15 +0,0 @@
{pkgs, ...}: {
programs.nushell = {
enable = true;
envFile = ''
$env.EDITOR = hx
$env.GIT_EDITOR = $env.EDITOR
$env.DEBMAIL = "tyler@tylermayoff.com"
$env.XDG_CONFIG_HOME = "$HOME/.config"
$env.XDG_CACHE_HOME = "$HOME/.cache"
$env.XDG_DATA_HOME = "$HOME/.local/share"
$env.XDG_STATE_HOME = "$HOME/.local/state"
'';
};
}

View file

@ -1,2 +1,9 @@
pkgs: {
sbarlua = {
src = pkgs.fetchFromGitHub {
repo = "SbarLua";
owner = "FelixKratz";
rev = "437bd2031da38ccda75827cb7548e7baa4aa9978";
};
};
}