new and impruved

This commit is contained in:
zastian@mrthoddata.com
2025-05-07 15:45:08 +01:00
commit bdf553079b
197 changed files with 5824 additions and 0 deletions

183
home/homePkgs.nix Executable file
View File

@@ -0,0 +1,183 @@
{
config,
lib,
pkgs,
inputs,
...
}:
let
in
#hyprlock = pkgs.callPackage ../../universal/personalPKGS/hyprlock.nix {};
#hypridle = pkgs.callPackage ../../universal/personalPKGS/hypridle.nix {};
{
#imports = [ inputs.anyrun.homeManagerModules.default ];
nixpkgs.config.allowUnfree = true;
nixpkgs.config.permittedInsecurePackages = [ "freeimage-unstable-2021-11-01" ];
programs.vscode = {
enable = true;
};
programs.anyrun = {
enable = true;
config = {
plugins = [
# An array of all the plugins you want, which either can be paths to the .so files, or their packages
"${pkgs.anyrun}/lib/libapplications.so"
"${pkgs.anyrun}/lib/libdictionary.so"
"${pkgs.anyrun}/lib/libsymbols.so"
"${pkgs.anyrun}/lib/librink.so"
"${pkgs.anyrun}/lib/libtranslate.so"
"${pkgs.anyrun}/lib/libwebsearch.so"
];
x = {
fraction = 0.5;
};
y = {
fraction = 0.3;
};
width = {
fraction = 0.3;
};
hideIcons = false;
ignoreExclusiveZones = false;
layer = "overlay";
hidePluginInfo = false;
closeOnClick = false;
showResultsImmediately = false;
maxEntries = null;
};
extraCss = ''
.some_class
enable = true;{
background: red;
}
'';
extraConfigFiles."websearch.ron".text = ''
Config(
prefix: "",
// Options: Google, Ecosia, Bing, DuckDuckGo, Custom
//
// Custom engines can be defined as such:
// Custom(
// name: "Searx",
// url: "searx.be/?q={}",
// )
//
// NOTE: `{}` is replaced by the search query and `https://` is automatically added in front.
engines: [Google]
)
'';
extraConfigFiles."dictionary.ron".text = ''
Config(
prefix: "",
max_entries: 5,
)
'';
extraConfigFiles."rink.ron".text = ''
Config(
prefix: "",
max_entries: 5,
)
'';
extraConfigFiles."translate.ron".text = ''
Config(
prefix: ":",
language_delimiter: ">",
max_entries: 3,
)
'';
extraConfigFiles."symbols.ron".text = ''
Config (
// The prefix that the search needs to begin with to yield symbol results
prefix: "",
// Custom user defined symbols to be included along the unicode symbols
symbols: {
// "name": "text to be copied"
"shrug": "¯\\_()_/¯",
},
max_entries: 3,
)
'';
};
home.packages = with pkgs; [
# # Adds the 'hello' command to your environment. It prints a friendly
# # "Hello, world!" when run.
# pkgs.hello
# # It is sometimes useful to fine-tune packages, for example, by applying
# # overrides. You can do that directly here, just don't forget the
# # parentheses. Maybe you want to install Nerd Fonts with a limited number of
# # fonts?
# (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; })
# # You can also create simple shell scripts directly inside your
# # configuration. For example, this adds a command 'my-hello' to your
# # environment:
# (pkgs.writeShellScriptBin "my-hello" ''
# echo "Hello, ${config.home.username}!"
# '')
zsh
zoom-us
rink
firefox
btop
libreoffice-fresh
rustup
rustc
macchina
hyprpaper
obs-studio
#xwaylandvideobridge
duf
grim
slurp
swappy
heroic
gamemode
gamescope
goverlay
rm-improved
nodejs_20
playerctl
pamixer
openai-whisper
libreoffice
zathura
imv
libsixel
prismlauncher
godot_4
wf-recorder
jellyfin-media-player
pcmanfm
hyprpicker
mangohud
gamemode
#discord
mpv
rofi
xdg-user-dirs
xarchiver
atuin
blender
wineWowPackages.stable
gdb
alsa-utils
brave
slack
zed-editor
dualsensectl
mangayomi
#inputs.way-inhibitor.packages.${pkgs.system}.default
inputs.zen-browser.packages.${pkgs.system}.twilight
element-desktop
scrcpy
fuse
fuse-emulator
fuse3
alacritty
];
}

124
home/mrfluffy.nix Executable file
View File

@@ -0,0 +1,124 @@
{
config,
pkgs,
inputs,
lib,
window_manager,
...
}:
let
in
{
imports = [
inputs.nix-colors.homeManagerModules.default
inputs.stylix.homeManagerModules.stylix
inputs.nixcord.homeModules.nixcord
#inputs.niri.homeModules.niri
./sessionVars.nix
../dots/foot.nix
../dots/waybar.nix
../dots/zsh.nix
../dots/nixcord.nix
../dots/hyprlock.nix
./stylix.nix
./homePkgs.nix
../dots/xdg.nix
../dots/river.nix
../dots/niri.nix
../dots/hyprland.nix
];
# you can go look here for a list of color schemes https://github.com/tinted-theming/schemes
colorScheme = inputs.nix-colors.colorSchemes.hardcore;
stylix.base16Scheme.base00 = "141414";
# Home Manager needs a bit of information about you and the paths it should
# manage.
home.username = "mrfluffy";
home.homeDirectory = "/home/mrfluffy";
# 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 incompatible changes.
#
# You should not change this value, even if you update Home Manager. If you do
# want to update the value, then make sure to first check the Home Manager
# release notes.
home.stateVersion = "23.11"; # Please read the comment before changing.
# The home.packages option allows you to install Nix packages into your
# environment.
gtk = {
enable = true;
iconTheme = {
name = "Dracula";
package = pkgs.dracula-icon-theme;
};
};
home.packages = with pkgs; [
swaybg
lswt
wlr-randr
#inputs.ladybird.packages."${pkgs.system}".ladybird
# # Adds the 'hello' command to your environment. It prints a friendly
# # "Hello, world!" when run.
# pkgs.hello
# # It is sometimes useful to fine-tune packages, for example, by applying
# # overrides. You can do that directly here, just don't forget the
# # parentheses. Maybe you want to install Nerd Fonts with a limited number of
# # fonts?
# (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; })
# # You can also create simple shell scripts directly inside your
# # configuration. For example, this adds a command 'my-hello' to your
# # environment:
# (pkgs.writeShellScriptBin "my-hello" ''
# echo "Hello, ${config.home.username}!"
# '')
];
# Home Manager is pretty good at managing dotfiles. The primary way to manage
# plain files is through 'home.file'.
home.file = {
# # Building this configuration will create a copy of 'dotfiles/screenrc' in
# # the Nix store. Activating the configuration will then make '~/.screenrc' a
# # symlink to the Nix store copy.
# ".screenrc".source = dotfiles/screenrc;
# # You can also set the file content immediately.
# ".gradle/gradle.properties".text = ''
# org.gradle.console=verbose
# org.gradle.daemon.idletimeout=3600000
# '';
#
".config/nixpkgs/config.nix".text = ''
{ allowUnfree = true; }
'';
".config/doom".source = ../dots/doom;
#".config/kitty".source = ../../universal/dots/kitty;
#".config/nvim".source = ../../universal/dots/nvim;
"Pictures/Wallpapers".source = ../assets/Wallpapers;
};
# Home Manager can also manage your environment variables through
# 'home.sessionVariables'. If you don't want to manage your shell through Home
# Manager then you have to manually source 'hm-session-vars.sh' located at
# either
#
# ~/.nix-profile/etc/profile.d/hm-session-vars.sh
#
# or
#
# ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh
#
# or
#
# /etc/profiles/per-user/mrfluffy/etc/profile.d/hm-session-vars.sh
#
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
}

46
home/sessionVars.nix Executable file
View File

@@ -0,0 +1,46 @@
{
config,
lib,
pkgs,
...
}:
{
home.sessionVariables = {
EDITOR = "emacs";
SDL_VIDEODRIVER = "wayland";
_JAVA_AWT_WM_NONREPARENTING = 1;
QT_QPA_PLATFORM = "wayland";
#XDG_CURRENT_DESKTOP = "hyprland";
#XDG_SESSION_DESKTOP = "hyprland";
MOZ_ENABLE_WAYLAND = 1;
WLR_DRM_NO_ATOMIC = 1;
VDPAU_DRIVER = "radeonsi";
LIBVA_DRIVER_NAME = "radeonsi";
OLLAMA_HOST = "0.0.0.0";
PATH = "$HOME/.config/emacs/bin:$PATH";
FZF_DEFAULT_COMMAND = "${lib.getExe pkgs.ripgrep} ~ --files --hidden";
FZF_DEFAULT_OPTS = "--height 30% --reverse";
FZF_CTRL_R_OPTS = "--sort";
MANROFFOPT = "-c";
MANPAGER = "sh -c 'col -bx | ${lib.getExe pkgs.bat} -l man -p'";
LIBVIRT_DEFAULT_URI = "qemu:///system";
CARGO_HOME = "$XDG_DATA_HOME/cargo";
GNUPGHOME = "$XDG_DATA_HOME/gnupg";
GOPATH = "$XDG_DATA_HOME/go";
GRADLE_USER_HOME = "$XDG_DATA_HOME/gradle";
IPYTHONDIR = "$XDG_CONFIG_HOMEipython";
JUPYTER_CONFIG_DIR = "$XDG_CONFIG_HOME/jupyter";
LESSHISTFILE = "$XDG_CACHE_HOME/less/history";
NUGET_PACKAGES = "$XDG_CACHE_HOME/NuGetPackages";
PYTHONSTARTUP = "$XDG_CONFIG_HOME/python/pythonrc";
KERAS_HOME = "$XDG_STATE_HOME/keras";
RUSTUP_HOME = "$XDG_DATA_HOME/rustup";
XCOMPOSECACHE = "$XDG_CACHE_HOME/X11/xcompose";
SSB_HOME = "$XDG_DATA_HOME/zoom";
HISTFILE = "$XDG_STATE_HOME/zsh/history";
ZDOTDIR = "$HOME/.config/zsh";
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE = "fg=#64677a,bold,underline";
};
}

73
home/stylix.nix Executable file
View File

@@ -0,0 +1,73 @@
{
pkgs,
lib,
config,
...
}:
let
inherit (config.colorScheme) palette;
oreo = pkgs.callPackage ../personalPKGS/oreo.nix { };
in
{
stylix = {
enable = true;
autoEnable = false;
targets.gtk.enable = true;
targets.vscode.enable = true;
targets.gitui.enable = true;
targets.foot.enable = true;
targets.river.enable = true;
targets.hyprland.enable = true;
targets.waybar.enable = true;
targets.nixcord.enable = true;
polarity = "dark";
image = ../assets/wallpapers/001.jpg;
base16Scheme = {
base00 = "${palette.base00}";
base01 = "${palette.base01}";
base02 = "${palette.base02}";
base03 = "${palette.base03}";
base04 = "${palette.base04}";
base05 = "${palette.base05}";
base06 = "${palette.base06}";
base07 = "${palette.base07}";
base08 = "${palette.base08}";
base09 = "${palette.base09}";
base0A = "${palette.base0A}";
base0B = "${palette.base0B}";
base0C = "${palette.base0C}";
base0D = "${palette.base0D}";
base0E = "${palette.base0E}";
base0F = "${palette.base0F}";
};
fonts = {
serif = {
package = pkgs.open-sans;
name = "Open Sans";
};
sansSerif = {
package = pkgs.open-sans;
name = "Open Sans";
};
monospace = {
package = pkgs.iosevka-comfy.comfy;
name = "Iosevka Comfy";
};
emoji = {
package = pkgs.noto-fonts-emoji;
name = "Noto Color Emoji";
};
sizes = {
applications = 12;
desktop = 12;
popups = 14;
terminal = 16;
};
};
cursor = {
package = oreo.override { colors = [ "oreo_spark_pink_cursors" ]; };
name = "oreo_spark_pink_cursors";
size = 32;
};
};
}

126
home/work.nix Executable file
View File

@@ -0,0 +1,126 @@
{
config,
pkgs,
inputs,
lib,
window_manager,
...
}:
let
in
{
imports = [
inputs.nix-colors.homeManagerModules.default
inputs.stylix.homeManagerModules.stylix
inputs.nixcord.homeModules.nixcord
#inputs.niri.homeModules.niri
./sessionVars.nix
../dots/foot.nix
../dots/waybar.nix
../dots/zsh.nix
../dots/nixcord.nix
../dots/hyprlock.nix
./stylix.nix
./homePkgs.nix
../dots/xdg.nix
../dots/river.nix
../dots/niri.nix
../dots/hyprland.nix
];
# you can go look here for a list of color schemes https://github.com/tinted-theming/schemes
colorScheme = inputs.nix-colors.colorSchemes.hardcore;
stylix.base16Scheme.base00 = "141414";
# Home Manager needs a bit of information about you and the paths it should
# manage.
home.username = "work";
home.homeDirectory = "/home/work";
# 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 incompatible changes.
#
# You should not change this value, even if you update Home Manager. If you do
# want to update the value, then make sure to first check the Home Manager
# release notes.
home.stateVersion = "23.11"; # Please read the comment before changing.
# The home.packages option allows you to install Nix packages into your
# environment.
gtk = {
enable = true;
iconTheme = {
name = "Dracula";
package = pkgs.dracula-icon-theme;
};
};
home.packages = with pkgs; [
swaybg
lswt
wlr-randr
brave
swaynotificationcenter
#inputs.ladybird.packages."${pkgs.system}".ladybird
# # Adds the 'hello' command to your environment. It prints a friendly
# # "Hello, world!" when run.
# pkgs.hello
# # It is sometimes useful to fine-tune packages, for example, by applying
# # overrides. You can do that directly here, just don't forget the
# # parentheses. Maybe you want to install Nerd Fonts with a limited number of
# # fonts?
# (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; })
# # You can also create simple shell scripts directly inside your
# # configuration. For example, this adds a command 'my-hello' to your
# # environment:
# (pkgs.writeShellScriptBin "my-hello" ''
# echo "Hello, ${config.home.username}!"
# '')
];
# Home Manager is pretty good at managing dotfiles. The primary way to manage
# plain files is through 'home.file'.
home.file = {
# # Building this configuration will create a copy of 'dotfiles/screenrc' in
# # the Nix store. Activating the configuration will then make '~/.screenrc' a
# # symlink to the Nix store copy.
# ".screenrc".source = dotfiles/screenrc;
# # You can also set the file content immediately.
# ".gradle/gradle.properties".text = ''
# org.gradle.console=verbose
# org.gradle.daemon.idletimeout=3600000
# '';
#
".config/nixpkgs/config.nix".text = ''
{ allowUnfree = true; }
'';
".config/doom".source = ../dots/doom;
#".config/kitty".source = ../../universal/dots/kitty;
#".config/nvim".source = ../../universal/dots/nvim;
"Pictures/Wallpapers".source = ../assets/Wallpapers;
};
# Home Manager can also manage your environment variables through
# 'home.sessionVariables'. If you don't want to manage your shell through Home
# Manager then you have to manually source 'hm-session-vars.sh' located at
# either
#
# ~/.nix-profile/etc/profile.d/hm-session-vars.sh
#
# or
#
# ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh
#
# or
#
# /etc/profiles/per-user/mrfluffy/etc/profile.d/hm-session-vars.sh
#
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
}