initial commit

This commit is contained in:
beanigen 2025-01-28 20:32:10 +08:00
commit d58ad9d46d
No known key found for this signature in database
23 changed files with 3527 additions and 0 deletions

60
home/default.nix Normal file
View file

@ -0,0 +1,60 @@
{config, pkgs, lib, inputs, vars, ...}:{
imports = [
#home-manager modules
inputs.nix-index-database.hmModules.nix-index
inputs.nvf.homeManagerModules.default
inputs.catppuccin.homeManagerModules.catppuccin
#aux files to make finding specific things easier
./sway.nix
./theming.nix
./packages.nix #general user packages not managed by home-manager but i want to install via hm anyways
];
home = rec {
username = "maya";
homeDirectory = "/home/${username}"; #change this if you use a non-standard home dir
stateVersion = "23.11";
file = {
".config/waybar/config".source = config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/waybar/config";
".config/waybar/style.css".source = config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/waybar/style.css";
};
};
programs.home-manager.enable = (if vars.isNixOS then false else true); #value is set in flake.nix
programs.foot = {
enable = true;
settings.main.font = "monospace:size=10";
settings.colors.alpha = "0.8";
};
programs.ncmpcpp = {
enable = true;
settings = {
tags_separator = ";";
};
};
services.mpd = {
enable = true;
musicDirectory = "/home/maya/Music"; #TODO: figure out not hardcoding this
extraConfig = ''
audio_output {
type "pipewire"
name "default pipewire"
}
'';
};
services.mpd-mpris = {
enable = true;
};
programs.waybar = {
enable = true;
};
programs.git = {
enable = true;
userName = "beanigen";
userEmail = "beanigit@protonmail.com";
extraConfig = {
commit.gpgsign = true;
gpg.format = "ssh";
user.signingkey = "~/.ssh/id_ed25519.pub";
init.defaultBranch = "main";
};
};
}

42
home/packages.nix Normal file
View file

@ -0,0 +1,42 @@
{pkgs, ...}:{
home.packages = with pkgs; [
prismlauncher
libgpod
blender-hip
libimobiledevice
mpc
strawberry
# lmms
kanshi
emacs
comma
openscad
openutau
wlr-randr
grim
slurp
swaynotificationcenter
udiskie
gtklock
swaybg
gzdoom
fzf
openrct2
wl-clipboard
brightnessctl
nemo
xfce.ristretto
xfce.tumbler
inkscape
hyfetch
pamixer
pavucontrol
gimp
prusa-slicer
gamescope
vlc
playerctl
firefox
libreoffice
];
}

96
home/sway.nix Normal file
View file

@ -0,0 +1,96 @@
{lib, osConfig, pkgs, inputs, ...}:{
wayland.windowManager.sway = {
package = pkgs.swayfx;
enable = true;
checkConfig = false; #gles2 renderer error
extraConfig = import ./swayfx;
config = {
modifier = "Mod4";
terminal = "foot";
#output = {
#eDP-1.pos = "0 1362";
# "Hewlett Packard HP W2371d 6CM2220CSQ".pos = "1366 1050";
# "Samsung Electric Company SyncMaster HMDQ202016".pos = "1517 0";
# };
gaps = {
inner = 5;
outer = 7;
};
input = {
"type:touchpad" = {
accel_profile = "flat";
dwt = "disabled";
scroll_factor = "0.3";
};
"1739:0:Synaptics_TM3075-002" = {
natural_scroll = "enabled";
click_method = "clickfinger";
};
"2:10:TPPS/2_IBM_TrackPoint" = {
scroll_factor = "0.3";
};
"type:pointer" = {
accel_profile = "flat";
};
"4152:6202:SteelSeries_SteelSeries_Aerox_3_Wireless" = {
pointer_accel = "0.1";
};
};
bars = [];
defaultWorkspace = "workspace number 1";
startup = [
{ command = "waybar"; }
{ command = "udiskie --appindicator -t"; }
{ command = "kanshi"; }
{ command = "swaync"; }
{ command = "swaybg -m fill -i ~/.config/nixos/assets/twilight.png"; }
{ command = "kde-indicator"; }
{ command = "blueman-applet"; }
];
workspaceLayout = "default";
keybindings = lib.mkOptionDefault {
"Print" = "exec grim -g \"$(slurp)\" ~/Pictures/screenshots/screenshot-`date +%F-%T`.png";
"Mod4+d" = "exec foot --title launch --app-id fzf-launcher bash -c 'compgen -c | sort -u | fzf | xargs swaymsg exec --'";
"Mod4+t" = "exec foot --title music --app-id mpd-control ncmpcpp";
"XF86AudioRaiseVolume" = "exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ -l 1.0";
"XF86AudioLowerVolume" = "exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-";
"XF86AudioMute" = "exec wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
"XF86AudioPlay" = "exec playerctl play-pause";
"XF86AudioNext" = "exec playerctl next";
"XF86AudioPrev" = "exec playerctl previous";
"XF86AudioStop" = "exec playerctl stop";
"XF86AudioMicMute" = "exec wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle";
"XF86MonBrightnessDown" = "exec brightnessctl s 10%-";
"XF86MonBrightnessUp" = "exec brightnessctl s +10%";
"XF86AudioMedia" = "exec vlc";
"XF86Launch1" = "exec nmcli device wifi rescan";
"Shift_L+Control_L+B" = "exec playerctl position 10-";
"Shift_L+Control_L+F" = "exec playerctl position 10+";
};
floating.criteria = [
{ app_id = "^fzf-launcher$";}
{ app_id = "^mpd-control$";}
{ con_mark = "DELTARUNE Chapter 1&2";}
];
# colors = {
# focused = import ./swaycolors.nix;
# focused = {
# border = "#cba6f7";
# };
# focusedInactive = import ./swaycolors.nix;
# focusedInactive = {
# background = "#440c88";
# indicator = "#440c88";
# };
# unfocused = import ./swaycolors.nix;
# unfocused = {
# background = "#440c88";
# indicator = "#440c88";
# };
# };
window = {
titlebar = false;
};
};
};
}

11
home/swayfx Normal file
View file

@ -0,0 +1,11 @@
"
blur enable
corner_radius 10
# shadows enable - not using this because of flicker
default_dim_inactive 0.3
client.focused 000000 cba6f7 000000 cba6f7
for_window [title=\"Picture-in-Picture\"] dim_inactive 0.0
for_window [title=\"Picture-in-Picture\"] sticky enable
client.focused_inactive 000000 440C88 000000 440C88
client.unfocused 000000 440C88 000000 440C88
"

35
home/theming.nix Normal file
View file

@ -0,0 +1,35 @@
{pkgs, ...}:{
home.pointerCursor = {
gtk.enable = true;
x11.enable = true;
package = pkgs.catppuccin-cursors.mochaMauve;
name = "catppuccin-mocha-mauve-cursors";
size = 24;
};
catppuccin = {
enable = true;
gtk.enable = false;
kvantum.enable = true;
waybar.enable = false;
};
gtk = {
#catppuccin.enable = false;
enable = true;
theme = {
name = "catppuccin-mocha-mauve-standard";
package = pkgs.catppuccin-gtk.override {
accents = ["mauve"];
size = "standard";
variant = "mocha";
};
};
iconTheme.package = pkgs.adwaita-icon-theme;
iconTheme.name = "Adwaita";
};
qt = {
enable = true;
style.name = "kvantum";
#style.catppuccin.enable = true;
platformTheme.name = "kvantum";
};
}

12
home/waybar.nix Normal file
View file

@ -0,0 +1,12 @@
{
mainBar = {
layer = "top";
position = "top";
height = 20;
};
}

64
home/waybar/\ Normal file
View file

@ -0,0 +1,64 @@
@import "/nix/store/f9wv2p1q7wvqygsic1pkdgrxlid2cmw3-waybar-ee8ed32/mocha.css";
* {
font-family: Iosevka NF;
}
window#waybar {
background-color: @surface0;
/* padding: 0px 5px;
margin: 5px 10px 5px; */
border-radius: 10px;
}
#clock,
#wireplumber,
#mpd {
padding: 5px;
border-radius: 10px;
border: 0.2em solid #cba6f7;
background: @surface2;
min-height: 0;
margin: 0.2em;
}
#dtray {
margin: 0px 10px 0px;
padding: 0px 10px 0px;
}
#wireplumber.muted {
border: 0;
color: #888888;
}
#mpd.stopped {
background-color: @surface0;
border: 0;
}
#mpd.playing {
background: @mauve;
}
.mpdcontrol {
background-color: @mauve;
border-radius: 10px;
font-size: 1.2em;
}
#custom-playpause {
background-color: #e5a6f7;
margin-right: -15px;
padding-right: 15px;
/* border-right: 0.2em solid #e5a6f7; */
border-top-right-radius: 10px;
border-bottom-right-radius: 10px;
}
#custom-prev {
background-color: #F7A6E8;
margin-right: -15px;
padding-right: 15px;
border-top-right-radius: 10px;
border-top-left-radius: 10px;
}
#custom-next {
background-color: #FAA5B7;
margin-right: -15px;
padding-right: 15px;
}
#mpdg:hover {
border-radius: 10px;
background: @mauve
}

1
home/waybar/cat Normal file
View file

@ -0,0 +1 @@
/nix/store/f9wv2p1q7wvqygsic1pkdgrxlid2cmw3-waybar-ee8ed32/mocha.css

64
home/waybar/config Normal file
View file

@ -0,0 +1,64 @@
[
{
"layer": "top",
"margin-top": 10,
"margin-left": 12,
"margin-right": 12,
"height": 35,
"spacing": 5,
"position": "top",
"modules-center": ["group/mpdg"],
"modules-left": ["group/dtray"],
"modules-right": ["clock", "wireplumber"],
"group/dtray": {
"orientation": "inherit",
"drawer": {
"transition-duration": 500,
"transition-left-to-right": true
},
"modules": ["custom/arrow", "tray"]
},
"group/mpdg": {
"orientation": "inherit",
"drawer": {
"transition-duration": 500,
"children-class": "mpdcontrol",
"transition-left-to-right": true
},
"modules": ["mpd", "custom/playpause", "custom/prev", "custom/next"]
},
"custom/playpause": {
"format": "󰐎",
"on-click": "mpc toggle"
},
"custom/prev": {
"format": "󰒮",
"on-click": "mpc prev"
},
"custom/next": {
"format": "󰒭",
"on-click": "mpc next"
},
"custom/arrow": {
"format": " ",
"tooltip": false
},
"tray": {
"spacing": 5
},
"clock": {
"format": "{:%I:%M %p}",
},
"wireplumber": {
"on-click": "pavucontrol",
},
"mpd": {
"on-click": "mpc toggle",
"format-disconnected": "MPD seems to be down",
"format": "{title} - {album} - {artist}",
"format-paused": "{title} - {album} - {artist}",
},
}
]

26
home/waybar/mocha.css Normal file
View file

@ -0,0 +1,26 @@
@define-color rosewater #f5e0dc;
@define-color flamingo #f2cdcd;
@define-color pink #f5c2e7;
@define-color mauve #cba6f7;
@define-color red #f38ba8;
@define-color maroon #eba0ac;
@define-color peach #fab387;
@define-color yellow #f9e2af;
@define-color green #a6e3a1;
@define-color teal #94e2d5;
@define-color sky #89dceb;
@define-color sapphire #74c7ec;
@define-color blue #89b4fa;
@define-color lavender #b4befe;
@define-color text #cdd6f4;
@define-color subtext1 #bac2de;
@define-color subtext0 #a6adc8;
@define-color overlay2 #9399b2;
@define-color overlay1 #7f849c;
@define-color overlay0 #6c7086;
@define-color surface2 #585b70;
@define-color surface1 #45475a;
@define-color surface0 #313244;
@define-color base #1e1e2e;
@define-color mantle #181825;
@define-color crust #11111b;

1
home/waybar/result-jack Symbolic link
View file

@ -0,0 +1 @@
/nix/store/j9lnxjn1ccl2v6gpnfdrvc9agd5w643h-pipewire-1.2.7-jack

63
home/waybar/style.css Normal file
View file

@ -0,0 +1,63 @@
@import "/nix/store/f9wv2p1q7wvqygsic1pkdgrxlid2cmw3-waybar-ee8ed32/mocha.css";
* {
font-family: Iosevka NF;
}
window#waybar {
background-color: @surface0;
/* padding: 0px 5px;
margin: 5px 10px 5px; */
border-radius: 10px;
}
#clock,
#wireplumber,
#mpd {
padding: 5px;
border-radius: 10px;
border: 0.2em solid #cba6f7;
background: @surface2;
min-height: 0;
margin: 0.2em;
}
#dtray {
margin: 0px 10px 0px;
padding: 0px 10px 0px;
}
#wireplumber.muted {
border: 0;
color: #888888;
}
#mpd.stopped {
background-color: @surface0;
border: 0;
}
#mpd.playing {
background: @mauve;
}
.mpdcontrol {
background-color: @surface0;
/* border-radius: 10px; */
font-size: 1.2em;
}
#custom-playpause {
background-color: #e5a6f7;
padding-right: 10px;
padding-left: 5px;
}
#custom-prev {
background-color: #F7A6E8;
padding-right: 7px;
padding-left: 6px;
}
#custom-next {
background-color: #FAA5B7;
padding-right: 8px;
padding-left: 6px;
border-top-right-radius: 10px;
border-bottom-right-radius: 10px;
}
#mpdg:hover {
border-bottom-left-radius: 10px;
border-top-left-radius: 10px;
background: #e5a6f7;
}