major home-manager changes
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
## TODO
|
||||
1. Add user specific traditional dotfiles.
|
||||
2. Try home-manager for nix (Trying out right now)
|
||||
2. ~~Try home-manager for nix~~ (Still in the middle of updating)
|
||||
3. ~~Try nix flakes~~
|
||||
|
||||
## How install workey
|
||||
|
@@ -1,4 +1,4 @@
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
{ config, lib, ... }:
|
||||
|
||||
{
|
||||
powerManagement = {
|
||||
|
@@ -1,4 +1,4 @@
|
||||
{lib, config, pkgs, ... }:
|
||||
{lib, config, ... }:
|
||||
|
||||
{
|
||||
services.pipewire = {
|
||||
|
@@ -1,5 +1,5 @@
|
||||
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
{ config, lib, ... }:
|
||||
|
||||
#let
|
||||
# compiledLayout = pkgs.runCommand "keyboard-layout" {} ''
|
||||
|
@@ -4,17 +4,12 @@
|
||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||
|
||||
boot = {
|
||||
kernelPackages = pkgs.linuxPackages_zen;
|
||||
kernelPatches = [
|
||||
{
|
||||
name = "zenwithmuqqs";
|
||||
patch = null;
|
||||
structuredExtraConfig = with lib.kernel; {
|
||||
SCHED_MUQSS = yes;
|
||||
};
|
||||
ignoreConfigErrors = true;
|
||||
}
|
||||
];
|
||||
kernelPackages = pkgs.linuxPackagesFor (pkgs.linux_zen.override {
|
||||
structuredExtraConfig = with lib.kernel; {
|
||||
CONFIG_SCHED_MUQSS = yes;
|
||||
};
|
||||
ignoreConfigErrors = true;
|
||||
});
|
||||
initrd={
|
||||
availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod"];
|
||||
kernelModules = [ ];
|
||||
|
@@ -1,4 +1,4 @@
|
||||
{lib, config, pkgs, ... }:
|
||||
{ lib, config, ...}:
|
||||
|
||||
{
|
||||
imports =
|
||||
|
@@ -1,4 +1,4 @@
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
{ config, lib, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
@@ -11,6 +11,7 @@
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/4c02ddf5-d00e-4d84-856f-c327ae44d047";
|
||||
fsType = "btrfs";
|
||||
options = ["compress=zstd"];
|
||||
};
|
||||
|
||||
fileSystems."/boot/efi" =
|
||||
|
@@ -1,4 +1,4 @@
|
||||
{lib, config, pkgs, ... }:
|
||||
{lib, config, ... }:
|
||||
|
||||
{
|
||||
networking = {
|
||||
|
@@ -2,52 +2,35 @@
|
||||
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
customscripts
|
||||
xclip
|
||||
dunst
|
||||
xorg.xkbcomp
|
||||
glibc
|
||||
proxychains
|
||||
#qt5.qmake
|
||||
xorg.xmodmap
|
||||
ffmpeg
|
||||
p7zip
|
||||
git
|
||||
glxinfo
|
||||
sox
|
||||
libmpdclient
|
||||
lxappearance
|
||||
sxiv
|
||||
jq
|
||||
mono
|
||||
vim
|
||||
mpd
|
||||
wineWowPackages.staging
|
||||
neofetch
|
||||
tor-browser-bundle-bin
|
||||
w3m
|
||||
gnumake
|
||||
pciutils
|
||||
jdk
|
||||
gcc
|
||||
ntfs3g
|
||||
python38
|
||||
luajit
|
||||
neovim
|
||||
htop
|
||||
nodejs
|
||||
wget
|
||||
ripgrep
|
||||
patchelf
|
||||
doas
|
||||
feh
|
||||
sxiv
|
||||
mpv
|
||||
dwm
|
||||
dmenu
|
||||
st
|
||||
kbd
|
||||
picom
|
||||
ncmpcpp
|
||||
];
|
||||
programs.steam.enable = true;
|
||||
nix = {
|
||||
|
@@ -1,4 +1,4 @@
|
||||
{lib, config, pkgs, ... }:
|
||||
{lib, config, ... }:
|
||||
{
|
||||
imports = [
|
||||
./Stuff/sound.nix
|
||||
|
12
flake.nix
12
flake.nix
@@ -29,6 +29,18 @@
|
||||
homeDirectory = "/home/natto";
|
||||
username = "natto";
|
||||
};
|
||||
|
||||
root = home-manager.lib.homeManagerConfiguration {
|
||||
configuration = { pkgs, lib, ... }: {
|
||||
imports = [ ./home/root.nix ];
|
||||
nixpkgs = {
|
||||
overlays = builtins.attrValues self.overlays;
|
||||
};
|
||||
};
|
||||
system = "${system}";
|
||||
homeDirectory = "/root";
|
||||
username = "root";
|
||||
};
|
||||
};
|
||||
|
||||
nixosConfigurations.Satori = nixpkgs.lib.nixosSystem {
|
||||
|
30
home/config/bspwm/bspwmrc
Executable file
30
home/config/bspwm/bspwmrc
Executable file
@@ -0,0 +1,30 @@
|
||||
#! /bin/sh
|
||||
bspc rule -r "*"
|
||||
##Autostart
|
||||
pgrep -x sxhkd > /dev/null || sxhkd &
|
||||
picom --experimental-backends &
|
||||
feh --bg-scale ~/Downloads/gruvbox.jpg &
|
||||
killall "polybar"
|
||||
polybar main &
|
||||
killall node
|
||||
node /mnt/Stuff/code/muhbot
|
||||
|
||||
|
||||
|
||||
bspc monitor -d
|
||||
#bspc monitor -d I II III IV V VI VII VIII IX X
|
||||
|
||||
bspc config border_width 2
|
||||
bspc config window_gap 10
|
||||
bspc config focus_follows_pointer true
|
||||
|
||||
bspc config split_ratio 0.52
|
||||
bspc config borderless_monocle true
|
||||
bspc config gapless_monocle true
|
||||
bspc config single_monocle true
|
||||
bspc config top_padding 50
|
||||
|
||||
bspc config normal_border_color "#ffffff"
|
||||
bspc config active_border_color "#1bb1b1"
|
||||
bspc config focused_border_color "#fe8019"
|
||||
bspc config urgent_border_color "#fe8019"
|
355
home/config/firefox/userChrome.css
Executable file
355
home/config/firefox/userChrome.css
Executable file
@@ -0,0 +1,355 @@
|
||||
:root {
|
||||
|
||||
/* Minimal Functional Fox variables*/
|
||||
--mff-bg: #1d2021;
|
||||
--mff-icon-color: #bbbbbb;
|
||||
--mff-nav-toolbar-padding: 8px;
|
||||
--mff-sidebar-bg: var(--mff-bg);
|
||||
--mff-sidebar-color: #e0fbfc;
|
||||
--mff-tab-border-radius: 0px;
|
||||
--mff-tab-color: #ebdbb2;
|
||||
--mff-tab-font-family: "Fira Mono for Powerline", sans;
|
||||
--mff-tab-font-size: 11pt;
|
||||
--mff-tab-font-weight: 400;
|
||||
--mff-tab-height: 32px;
|
||||
--mff-tab-pinned-bg: #70c1b3;
|
||||
--mff-tab-selected-bg: #ebdbb2;
|
||||
--mff-tab-selected-color: #1d2021;
|
||||
--mff-tab-soundplaying-bg: #818181;
|
||||
--mff-tab-soundplaying-color: #1d2021;
|
||||
--mff-urlbar-color: #98c1d9;
|
||||
--mff-urlbar-focused-color: #e0fbfc;
|
||||
--mff-urlbar-font-family: "Fira Mono for Powerline", serif;
|
||||
--mff-urlbar-font-size: 12pt;
|
||||
--mff-urlbar-font-weight: 500;
|
||||
--mff-urlbar-results-color: #e0fbfc;
|
||||
--mff-urlbar-results-font-family: "Fira Mono for Powerline", serif;
|
||||
--mff-urlbar-results-font-size: 12pt;
|
||||
--mff-urlbar-results-font-weight: 500;
|
||||
--mff-urlbar-results-url-color: #98c1d9;
|
||||
/* --mff-tab-selected-bg: linear-gradient(90deg, rgba(232,74,95,1) 0%, rgba(255,132,124,1) 50%, rgba(254,206,168,1) 100%); */
|
||||
/* --mff-urlbar-font-weight: 600; */
|
||||
|
||||
/* Overriden Firefox variables*/
|
||||
--autocomplete-popup-background: var(--mff-bg) !important;
|
||||
--default-arrowpanel-background: var(--mff-bg) !important;
|
||||
--default-arrowpanel-color: #fefefa !important;
|
||||
--lwt-toolbarbutton-icon-fill: var(--mff-icon-color) !important;
|
||||
--panel-disabled-color: #f9f9fa80;
|
||||
--toolbar-bgcolor: var(--mff-bg) !important;
|
||||
--urlbar-separator-color: transparent !important;
|
||||
}
|
||||
|
||||
/*
|
||||
_____ _ ___ ___
|
||||
|_ _/_\ | _ ) __|
|
||||
| |/ _ \| _ \__ \
|
||||
|_/_/ \_\___/___/
|
||||
|
||||
*/
|
||||
|
||||
.tab-background[selected="true"] {
|
||||
background: var(--mff-tab-selected-bg) !important;
|
||||
}
|
||||
.tab-text[selected="true"] {
|
||||
color: var(--mff-tab-selected-color) !important;
|
||||
font-weight: bold !important;
|
||||
}
|
||||
.tab-background:not[visuallyselected] {
|
||||
background: var(--mff-tab-selected-bg) !important;
|
||||
opacity: 0.5 !important;
|
||||
}
|
||||
|
||||
/* This positions the tabs under the navaigator container */
|
||||
#titlebar {
|
||||
-moz-box-ordinal-group: 3 !important;
|
||||
}
|
||||
|
||||
.tabbrowser-tab::after,
|
||||
.tabbrowser-tab::before {
|
||||
border-left: none !important;
|
||||
}
|
||||
|
||||
.tab-background {
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
.tabbrowser-arrowscrollbox {
|
||||
margin-inline-start: 4px !important;
|
||||
margin-inline-end: 0px !important;
|
||||
}
|
||||
|
||||
.tab-close-button {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.tab-text {
|
||||
font-family: var(--mff-tab-font-family);
|
||||
font-weight: var(--mff-tab-font-weight);
|
||||
font-size: var(--mff-tab-font-size) !important;
|
||||
color: var(--mff-tab-color);
|
||||
}
|
||||
|
||||
/* Hide the favicon for tabs */
|
||||
hbox.tab-content .tab-icon-image {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* Show the favicon for tabs that are pinned */
|
||||
hbox.tab-content[pinned=true] .tab-icon-image {
|
||||
display: initial !important;
|
||||
}
|
||||
|
||||
hbox.tab-content[pinned=true] .tab-text {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
#tabbrowser-tabs {
|
||||
--tab-loading-fill: #033433 !important;
|
||||
|
||||
}
|
||||
|
||||
.tab-label-container:not([textoverflow]) {
|
||||
display: flex;
|
||||
overflow: hidden;
|
||||
justify-content: center;
|
||||
width: 50% !important;
|
||||
max-width: 50% !important;
|
||||
min-width: 50% !important;
|
||||
}
|
||||
|
||||
/* .tab-label-container::after {
|
||||
content: "?" !important;
|
||||
|
||||
} */
|
||||
|
||||
.tab-line {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.tabbrowser-tab {
|
||||
border-radius: var(--mff-tab-border-radius) !important;
|
||||
border-width: 0;
|
||||
height: var(--mff-tab-height) !important;
|
||||
margin-bottom: 4px !important;
|
||||
margin-inline-end: 4px !important;
|
||||
margin-top: 4px !important;
|
||||
max-height: var(--mff-tab-height) !important;
|
||||
min-height: var(--mff-tab-height) !important;
|
||||
}
|
||||
|
||||
.tabbrowser-tab[soundplaying="true"] {
|
||||
background-color: var(--mff-tab-soundplaying-bg) !important;
|
||||
}
|
||||
|
||||
#tabs-newtab-button {
|
||||
list-style-image: url("https://raw.githubusercontent.com/mut-ex/minimal-functional-fox/master/add.svg") !important;
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
.tab-icon-sound {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/*
|
||||
_____ ___ ___ _ ___ _ ___
|
||||
|_ _/ _ \ / _ \| | | _ ) /_\ | _ \
|
||||
| || (_) | (_) | |__| _ \/ _ \| /
|
||||
|_| \___/ \___/|____|___/_/ \_\_|_\
|
||||
*/
|
||||
|
||||
.urlbar-icon > image {
|
||||
fill: var(--mff-icon-color) !important;
|
||||
color: var(--mff-icon-color) !important;
|
||||
}
|
||||
|
||||
.toolbarbutton-text {
|
||||
color: var(--mff-icon-color) !important;
|
||||
}
|
||||
.urlbar-icon {
|
||||
color: var(--mff-icon-color) !important;
|
||||
|
||||
}
|
||||
|
||||
.toolbarbutton-icon {
|
||||
/* filter: drop-shadow(0 0 0.75rem crimson); */
|
||||
}
|
||||
|
||||
#urlbar-results {
|
||||
font-family: var(--mff-urlbar-results-font-family);
|
||||
font-weight: var(--mff-urlbar-results-font-weight);
|
||||
font-size: var(--mff-urlbar-results-font-size) !important;
|
||||
color: var(--mff-urlbar-results-color) !important;
|
||||
}
|
||||
|
||||
.urlbarView-row[type="bookmark"] > span{
|
||||
color: green !important;
|
||||
}
|
||||
|
||||
.urlbarView-row[type="switchtab"] > span{
|
||||
color: orange !important;
|
||||
}
|
||||
|
||||
.urlbarView-url, .search-panel-one-offs-container {
|
||||
color: var(--mff-urlbar-results-url-color) !important;
|
||||
font-family: var(--mff-urlbar-font-family);
|
||||
font-weight: var(--mff-urlbar-results-font-weight);
|
||||
font-size: var(--mff-urlbar-font-size) !important;
|
||||
}
|
||||
|
||||
.urlbarView-favicon, .urlbarView-type-icon {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
#urlbar-input {
|
||||
font-size: var(--mff-urlbar-font-size) !important;
|
||||
color: var(--mff-urlbar-color) !important;
|
||||
font-family: var(--mff-urlbar-font-family) !important;
|
||||
font-weight: var(--mff-urlbar-font-weight)!important;
|
||||
text-align: center !important;
|
||||
}
|
||||
|
||||
#tracking-protection-icon-container, #identity-box {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#back-button > .toolbarbutton-icon{
|
||||
--backbutton-background: transparent !important;
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
#back-button {
|
||||
list-style-image: url("https://raw.githubusercontent.com/mut-ex/minimal-functional-fox/master/left-arrow.svg") !important;
|
||||
}
|
||||
|
||||
#forward-button {
|
||||
list-style-image: url("https://raw.githubusercontent.com/mut-ex/minimal-functional-fox/master/right-arrow.svg") !important;
|
||||
}
|
||||
|
||||
toolbar {
|
||||
background-image: none !important;
|
||||
}
|
||||
|
||||
#urlbar-background {
|
||||
opacity: .98 !important;
|
||||
}
|
||||
|
||||
#navigator-toolbox, toolbaritem {
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
#urlbar-background {
|
||||
background-color: var(--mff-bg) !important;
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
.toolbar-items {
|
||||
background-color: var(--mff-bg) !important;
|
||||
}
|
||||
|
||||
#sidebar-search-container {
|
||||
background-color: var(--mff-sidebar-bg) !important;
|
||||
}
|
||||
|
||||
box.panel-arrowbox {
|
||||
display: none;
|
||||
}
|
||||
|
||||
box.panel-arrowcontent {
|
||||
border-radius: 8px !important;
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
tab.tabbrowser-tab {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
tab.tabbrowser-tab:hover {
|
||||
box-shadow: 0 1px 4px rgba(0,0,0,.05);
|
||||
}
|
||||
|
||||
image#star-button {
|
||||
display: none;
|
||||
}
|
||||
|
||||
toolbar#nav-bar {
|
||||
padding: var(--mff-nav-toolbar-padding) !important;
|
||||
}
|
||||
|
||||
toolbar#nav-bar {
|
||||
padding: 4px !important;
|
||||
}
|
||||
|
||||
#urlbar {
|
||||
max-width: 70% !important;
|
||||
margin: 0 15% !important;
|
||||
/* position: unset!important; */;
|
||||
}
|
||||
|
||||
#urlbar-input:focus {
|
||||
color: var(--mff-urlbar-focused-color) !important;
|
||||
}
|
||||
|
||||
|
||||
.megabar[breakout-extend="true"]:not([open="true"]) > #urlbar-background {
|
||||
box-shadow: none !important;
|
||||
background-color: transparent !important;
|
||||
}
|
||||
|
||||
toolbarbutton {
|
||||
box-shadow: none !important;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
___ ___ ___ ___ ___ _ ___
|
||||
/ __|_ _| \| __| _ ) /_\ | _ \
|
||||
\__ \| || |) | _|| _ \/ _ \| /
|
||||
|___/___|___/|___|___/_/ \_\_|_\
|
||||
*/
|
||||
|
||||
.close-icon, .urlbar-icon {
|
||||
fill: var(--mff-icon-color) !important;
|
||||
}
|
||||
|
||||
.sidebar-placesTree {
|
||||
color: var(--mff-sidebar-color) !important;
|
||||
}
|
||||
|
||||
#sidebar-switcher-target {
|
||||
/* color: white !important; */
|
||||
}
|
||||
|
||||
#sidebar-box {
|
||||
--sidebar-background-color: var(--mff-sidebar-bg) !important;
|
||||
}
|
||||
|
||||
splitter#sidebar-splitter {
|
||||
opacity: 0 !important;
|
||||
}
|
||||
|
||||
splitter#sidebar-splitter {
|
||||
border: none !important;
|
||||
background-color: transparent !important;
|
||||
}
|
||||
|
||||
image#sidebar-icon {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
_ ___ ___ _____ _____ _ _ _ ___ _
|
||||
/_\ | _ \ _ \/ _ \ \ / / _ \/_\ | \| | __| |
|
||||
/ _ \| / / (_) \ \/\/ /| _/ _ \| .` | _|| |__
|
||||
/_/ \_\_|_\_|_\\___/ \_/\_/ |_|/_/ \_\_|\_|___|____|
|
||||
*/
|
||||
|
||||
.panel-arrowcontent {
|
||||
padding: 0px !important;
|
||||
margin: 0px !important;
|
||||
}
|
||||
|
||||
toolbarseparator {
|
||||
display: none;
|
||||
}
|
23
home/config/firefox/userContent.css
Executable file
23
home/config/firefox/userContent.css
Executable file
@@ -0,0 +1,23 @@
|
||||
@import url("userChrome.css");
|
||||
|
||||
/* Removes white loading page */
|
||||
@-moz-document url(about:blank), url(about:newtab), url(about:home) {
|
||||
html:not(#ublock0-epicker), html:not(#ublock0-epicker) body, #newtab-customize-overlay {
|
||||
background: var(--mff-bg) !important;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Hide scrollbar */
|
||||
|
||||
:root{
|
||||
scrollbar-width: none !important;
|
||||
}
|
||||
|
||||
|
||||
@-moz-document url(about:privatebrowsing) {
|
||||
|
||||
:root{
|
||||
scrollbar-width: none !important;
|
||||
}
|
||||
}
|
24
home/config/mpd/mpd.conf
Normal file
24
home/config/mpd/mpd.conf
Normal file
@@ -0,0 +1,24 @@
|
||||
music_directory "~/Music"
|
||||
playlist_directory "~/.config/mpd/playlists"
|
||||
db_file "~/.config/mpd/database"
|
||||
log_file "~/.config/mpd/log"
|
||||
pid_file "~/.config/mpd/pid"
|
||||
state_file "~/.config/mpd/state"
|
||||
bind_to_address "~/.config/mpd/socket"
|
||||
bind_to_address "localhost"
|
||||
port "6600"
|
||||
restore_paused "yes"
|
||||
input {
|
||||
plugin "curl"
|
||||
}
|
||||
audio_output {
|
||||
type "pulse"
|
||||
name "pulse audio"
|
||||
}
|
||||
audio_output {
|
||||
type "fifo"
|
||||
name "Visualizer feed"
|
||||
path "/tmp/g.fifo"
|
||||
format "44100:16:2"
|
||||
}
|
||||
filesystem_charset "UTF-8"
|
62
home/config/ncmpcpp/config
Normal file
62
home/config/ncmpcpp/config
Normal file
@@ -0,0 +1,62 @@
|
||||
autocenter_mode = "yes"
|
||||
follow_now_playing_lyrics = "yes"
|
||||
lyrics_directory = "~/.lyrics"
|
||||
mpd_music_dir="~/Music"
|
||||
fetch_lyrics_for_current_song_in_background = "yes"
|
||||
#store_lyrics_in_song_dir = yes
|
||||
browser_sort_mode=mtime
|
||||
|
||||
colors_enabled = "yes"
|
||||
main_window_color = "white"
|
||||
header_window_color = "180"
|
||||
volume_color = "215"
|
||||
progressbar_color = "180"
|
||||
progressbar_elapsed_color = "16"
|
||||
statusbar_color = "43"
|
||||
active_window_border = "blue"
|
||||
user_interface = "alternative"
|
||||
#song_list_format="(4)[230]{l}"
|
||||
song_columns_list_format = "(4)[230]{l} (30)[219]{t} (15)[180]{a} (15)[215]{b}"
|
||||
song_list_format = "{$(219)%a} - {$(230)%t}"
|
||||
#song_list_format = "{$7%a - $9}{$5%t$9}|{$5%f$9}$R{$6%b $9}{$3%l$9}"
|
||||
song_status_format = " $6%a $7⟫⟫ $3%t $7⟫⟫ $4%b "
|
||||
|
||||
visualizer_data_source = "/tmp/g.fifo"
|
||||
#visualizer_output_name = "my_fifo"
|
||||
visualizer_type = "spectrum"
|
||||
#visualizer_type = "ellipse"
|
||||
visualizer_fps = 144
|
||||
visualizer_in_stereo = "yes"
|
||||
visualizer_look = "◆▋"
|
||||
visualizer_spectrum_smooth_look="yes"
|
||||
playlist_editor_display_mode = "classic"
|
||||
playlist_display_mode = "columns"
|
||||
cyclic_scrolling = "yes"
|
||||
lines_scrolled = "2"
|
||||
|
||||
system_encoding = "utf-8"
|
||||
regular_expressions = "extended"
|
||||
|
||||
#selected_item_prefix = "* "
|
||||
#discard_colors_if_item_is_selected = "no"
|
||||
|
||||
#incremental_seeking = "yes"
|
||||
#seek_time = "1"
|
||||
|
||||
## Visibility ##
|
||||
header_visibility = "yes"
|
||||
statusbar_visibility = "yes"
|
||||
titles_visibility = "yes"
|
||||
|
||||
## Progress Bar ##
|
||||
progressbar_look = "▃▃▃"
|
||||
|
||||
## Now Playing ##
|
||||
now_playing_prefix = "> "
|
||||
centered_cursor = "yes"
|
||||
|
||||
# Misc
|
||||
display_bitrate = "yes"
|
||||
enable_window_title = "yes"
|
||||
empty_tag_marker = ""
|
||||
#execute_on_song_change="~/.config/ncmpcpp/cover_obs.sh"
|
6
home/config/nvim/.netrwhist
Normal file
6
home/config/nvim/.netrwhist
Normal file
@@ -0,0 +1,6 @@
|
||||
let g:netrw_dirhistmax =10
|
||||
let g:netrw_dirhistcnt =4
|
||||
let g:netrw_dirhist_4='/home/natto/.config/deemix'
|
||||
let g:netrw_dirhist_3='/mnt/Stuff/Bruhniggacode/C++'
|
||||
let g:netrw_dirhist_2='/home/natto/.config/ncmpcpp'
|
||||
let g:netrw_dirhist_1='/home/otaku619/.config/mpd'
|
3
home/config/nvim/.vim/coc-settings.json
Normal file
3
home/config/nvim/.vim/coc-settings.json
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"python.jediEnabled": false
|
||||
}
|
127
home/config/nvim/init.vim
Normal file
127
home/config/nvim/init.vim
Normal file
@@ -0,0 +1,127 @@
|
||||
"SETTINGS
|
||||
let g:mapleader = "\<Space>"
|
||||
syntax enable
|
||||
set modifiable
|
||||
set cursorline
|
||||
set hidden
|
||||
set nowrap
|
||||
set encoding=utf-8
|
||||
set pumheight=10
|
||||
set fileencoding=utf-8
|
||||
set ruler
|
||||
set cmdheight=2
|
||||
set iskeyword+=-
|
||||
set mouse=a
|
||||
set splitbelow
|
||||
set splitright
|
||||
set t_Co=256
|
||||
set conceallevel=0
|
||||
set tabstop=4
|
||||
set shiftwidth=4
|
||||
set smarttab
|
||||
set expandtab
|
||||
set smartindent
|
||||
set autoindent
|
||||
set number
|
||||
set relativenumber
|
||||
set background=dark
|
||||
set showtabline=2
|
||||
set noshowmode
|
||||
set nobackup
|
||||
set nowritebackup
|
||||
set updatetime=300
|
||||
set timeoutlen=100
|
||||
set formatoptions-=cro
|
||||
set clipboard=unnamedplus
|
||||
au! BufWritePost $MYVIMRC source %
|
||||
cmap w!! w !sudo tee %
|
||||
|
||||
|
||||
"MAPPINGS
|
||||
inoremap <S-Space> <ESC>
|
||||
nnoremap m h|xnoremap m h|onoremap m h|
|
||||
nnoremap n j|xnoremap n j|onoremap n j|
|
||||
nnoremap e k|xnoremap e k|onoremap e k|
|
||||
nnoremap i l|xnoremap i l|onoremap i l|
|
||||
nnoremap M H|xnoremap M H|onoremap M H|
|
||||
nnoremap N J|xnoremap N J|onoremap N J|
|
||||
nnoremap E K|xnoremap E K|onoremap E K|
|
||||
nnoremap I L|xnoremap I L|onoremap I L|
|
||||
nnoremap h i|xnoremap h i|onoremap h i|
|
||||
nnoremap H I|xnoremap H I|onoremap H I|
|
||||
nnoremap k n|xnoremap k n|onoremap k n|
|
||||
nnoremap K N|xnoremap K N|onoremap K N|
|
||||
nnoremap j m|xnoremap j m|onoremap j m|
|
||||
nnoremap J M|xnoremap J M|onoremap J M|
|
||||
nnoremap l e|xnoremap l e|onoremap l e|
|
||||
nnoremap L E|xnoremap L E|onoremap L E|
|
||||
nnoremap <C-s> :w<CR>
|
||||
nnoremap <M-n> :resize -2<CR>
|
||||
nnoremap <M-e> :resize +2<CR>
|
||||
nnoremap <M-m> :vertical resize -2<CR>
|
||||
nnoremap <M-i> :vertical resize +2<CR>
|
||||
nnoremap <TAB> :bnext<CR>
|
||||
nnoremap <S-TAB> :bprevious<CR>
|
||||
vnoremap < <gv
|
||||
vnoremap > >gv
|
||||
nnoremap <C-q> :bd!<CR>
|
||||
nnoremap <C-x> :bd#<CR>
|
||||
tnoremap <C-q> :bd!<CR>
|
||||
nnoremap <C-M> <C-W>h|xnoremap <C-M> <C-W>h|
|
||||
nnoremap <C-N> <C-W>j|xnoremap <C-N> <C-W>j|
|
||||
nnoremap <C-E> <C-W>k|xnoremap <C-E> <C-W>k|
|
||||
nnoremap <C-I> <C-W>l|xnoremap <C-I> <C-W>l|
|
||||
|
||||
"STATUSLINE
|
||||
"let right=""
|
||||
"let left=""
|
||||
set laststatus=2
|
||||
set statusline=
|
||||
set statusline+=%1*
|
||||
set statusline+=\ %{ModeBruh()}\
|
||||
set statusline+=%2*\%{GitBruh()}\
|
||||
set statusline+=%3*\ %f\
|
||||
set statusline+=%1*
|
||||
set statusline+=%=
|
||||
set statusline+=%3*\ %{strlen(&fenc)?&fenc:'none'}\
|
||||
set statusline+=%2*\ %y\
|
||||
let bruh="% "
|
||||
let bruh1=" "
|
||||
set statusline+=%1*\ %p%{bruh}%l/%L%{bruh1}%c\
|
||||
|
||||
hi User1 guibg=#fbf1c7 guifg=#1d2021
|
||||
hi User2 guibg=#1d2021 guifg=#fbf1c7
|
||||
hi User3 guifg=#fbf1c7 guibg=#665c54
|
||||
|
||||
function! ModeBruh()
|
||||
let l:mode=mode()
|
||||
if l:mode==#"n"
|
||||
return "NORMAL"
|
||||
elseif l:mode==?"v"
|
||||
return "VISUAL"
|
||||
elseif l:mode==#"i"
|
||||
return "INSERT"
|
||||
elseif l:mode==#"R"
|
||||
return "REPLACE"
|
||||
elseif l:mode==?"s"
|
||||
return "SELECT"
|
||||
elseif l:mode==#"t"
|
||||
return "TERMINAL"
|
||||
elseif l:mode==#"c"
|
||||
return "COMMAND"
|
||||
elseif l:mode==#"!"
|
||||
return "SHELL"
|
||||
endif
|
||||
|
||||
endfunction
|
||||
function! GitBruh()
|
||||
let l:branchname = GitBranch()
|
||||
return strlen(l:branchname) > 0?' '.l:branchname.'':''
|
||||
endfunction
|
||||
|
||||
function! GitBranch()
|
||||
return system("git rev-parse --abbrev-ref HEAD 2>/dev/null | tr -d '\n'")
|
||||
endfunction
|
||||
|
||||
|
||||
set termguicolors
|
19
home/config/nvim/utils.vim
Executable file
19
home/config/nvim/utils.vim
Executable file
@@ -0,0 +1,19 @@
|
||||
" I got this part of the config from Michael Lan Source = https://www.youtube.com/watch?v=I4Rz0qoWYBl
|
||||
function! TermWrapper(command) abort
|
||||
if !exists('g:split_term_style') | let g:split_term_style = 'vertical' | endif
|
||||
if g:split_term_style ==# 'vertical'
|
||||
let buffercmd = 'vnew'
|
||||
elseif g:split_term_style ==# 'horizontal'
|
||||
let buffercmd = 'new'
|
||||
else
|
||||
echoerr 'ERROR! g:split_term_style is not a valid value (must be ''horizontal'' or ''vertical'' but is currently set to ''' . g:split_term_style . ''')'
|
||||
throw 'ERROR! g:split_term_style is not a valid value (must be ''horizontal'' or ''vertical'')'
|
||||
endif
|
||||
exec buffercmd
|
||||
exec 'term ' . a:command
|
||||
exec 'startinsert'
|
||||
endfunction
|
||||
command! -nargs=0 CompileAndRun call TermWrapper(printf('g++ -std=c++17 %s && ./a.out', expand('%')))
|
||||
autocmd FileType cpp nnoremap <F5> :CompileAndRun<CR>
|
||||
|
||||
let g:split_term_style = 'vertical'
|
154
home/config/sxhkd/sxhkdrc
Normal file
154
home/config/sxhkd/sxhkdrc
Normal file
@@ -0,0 +1,154 @@
|
||||
#
|
||||
# wm independent hotkeys
|
||||
#
|
||||
|
||||
# terminal emulator
|
||||
super + Return
|
||||
st
|
||||
|
||||
# program launcher
|
||||
super + d
|
||||
rofi -show drun
|
||||
|
||||
# make sxhkd reload its configuration files:
|
||||
super + alt + c
|
||||
pkill -USR1 -x sxhkd
|
||||
|
||||
|
||||
# quit/restart bspwm
|
||||
super + shift + {e,r}
|
||||
bspc {quit,wm -r}
|
||||
|
||||
# close and kill
|
||||
super + {_,shift + }q
|
||||
bspc node -{c,k}
|
||||
|
||||
# alternate between the tiled and monocle layout
|
||||
super + shift + f
|
||||
bspc desktop -l next
|
||||
|
||||
# send the newest marked node to the newest preselected node
|
||||
#super + y
|
||||
# bspc node newest.marked.local -n newest.!automatic.local
|
||||
|
||||
# swap the current node and the biggest window
|
||||
#super + g
|
||||
# bspc node -s biggest.window
|
||||
|
||||
#
|
||||
# state/flags
|
||||
#
|
||||
|
||||
# set the window state
|
||||
super + {t,shift + t,s,f}
|
||||
bspc node -t {\~tiled,\~pseudo_tiled,\~floating,\~fullscreen}
|
||||
|
||||
# set the node flags
|
||||
#super + ctrl + {m,x,y,z}
|
||||
# bspc node -g {marked,locked,sticky,private}
|
||||
|
||||
#
|
||||
# focus/swap
|
||||
#
|
||||
|
||||
# focus the node in the given direction
|
||||
super + shift + {h,j,k,l}
|
||||
bspc node -s {west,south,north,east}
|
||||
|
||||
super + {h,j,k,l}
|
||||
bspc node -f {west,south,north,east}
|
||||
|
||||
# focus the code for the given path jump
|
||||
#super + {p,b,comma,period}
|
||||
# bspc node -f @{parent,brother,first,second}
|
||||
|
||||
# focus the next/previous window in the current desktop
|
||||
super + {_,shift + }c
|
||||
bspc node -f {next,prev}.local.!hidden.window
|
||||
|
||||
# focus the next/previous desktop in the current monitor
|
||||
super + bracket{left,right}
|
||||
bspc desktop -f {prev,next}.local
|
||||
|
||||
# focus the last node/desktop
|
||||
#super + {grave,Tab}
|
||||
# bspc {node,desktop} -f last
|
||||
|
||||
# focus the older or newer node in the focus history
|
||||
super + {o,i}
|
||||
bspc wm -h off; \
|
||||
bspc node {older,newer} -f; \
|
||||
bspc wm -h on
|
||||
|
||||
# focus or send to the given desktop
|
||||
super + {_,shift + }{1-9,0}
|
||||
bspc {desktop -f,node -d} '^{1-9,10}'
|
||||
|
||||
#
|
||||
# preselect
|
||||
#
|
||||
|
||||
# preselect the direction
|
||||
super + ctrl + {h,j,k,l}
|
||||
bspc node -p {west,south,north,east}
|
||||
|
||||
# preselect the ratio
|
||||
super + ctrl + {1-9}
|
||||
bspc node -o 0.{1-9}
|
||||
|
||||
# cancel the preselection for the focused node
|
||||
super + ctrl + space
|
||||
bspc node -p cancel
|
||||
|
||||
# cancel the preselection for the focused desktop
|
||||
super + ctrl + shift + space
|
||||
bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
|
||||
|
||||
#
|
||||
# move/resize
|
||||
#
|
||||
|
||||
# expand a window by moving one of its side outward
|
||||
super + alt + {h,j,k,l}
|
||||
bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}
|
||||
|
||||
# contract a window by moving one of its side inward
|
||||
super + alt + shift + {h,j,k,l}
|
||||
bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}
|
||||
|
||||
# move a floating window
|
||||
super + {Left,Down,Up,Right}
|
||||
bspc node -v {-20 0,0 20,0 -20,20 0}
|
||||
|
||||
#
|
||||
# Screenshotting
|
||||
#
|
||||
@Print
|
||||
flameshot & flameshot full -p ~/Pictures
|
||||
# exec scrot '%d-%m-%Y_%I-%M-%S%p.png' -e 'mv ~/$f ~/Pictures/'
|
||||
shift + @Print
|
||||
flameshot & flameshot gui -p ~/Pictures
|
||||
# exec scrot -s '%d-%m-%Y_%I-%M-%S%p.png' -e 'mv ~/$f ~/Pictures/'
|
||||
#super + @Print
|
||||
#flameshot gui full -p ~/Pictures
|
||||
# exec scrot -u '%d-%m-%Y_%I-%M-%S%p.png' -e 'mv ~/$f ~/Pictures/'
|
||||
alt + @Print
|
||||
flameshot & flameshot gui -d 10000 -p ~/Pictures
|
||||
# exec scrot -d 10 '%d-%m-%Y_%I-%M-%S%p.png' -e 'mv ~/$f ~/Pictures/'
|
||||
|
||||
#
|
||||
#mpd/ncmpcpp
|
||||
#
|
||||
|
||||
super + shift + n
|
||||
mpc prev
|
||||
|
||||
super + shift + m
|
||||
mpc next
|
||||
|
||||
super + shift + space
|
||||
mpc toggle
|
||||
super + A
|
||||
mpc seek +00:00:05
|
||||
super + D
|
||||
mpc seek -00:00:05
|
14
home/config/zathura/zathurarc
Normal file
14
home/config/zathura/zathurarc
Normal file
@@ -0,0 +1,14 @@
|
||||
set statusbar-h-padding 0
|
||||
set statusbar-v-padding 0
|
||||
set page-padding 1
|
||||
map w scroll half-up
|
||||
map r scroll half-down
|
||||
map s reload
|
||||
map S rotate
|
||||
map f zoom in
|
||||
map q zoom out
|
||||
map p follow link
|
||||
map m left
|
||||
map i right
|
||||
map n down
|
||||
map e up
|
15
home/modules/files.nix
Normal file
15
home/modules/files.nix
Normal file
@@ -0,0 +1,15 @@
|
||||
{config, ...}:
|
||||
let
|
||||
home = config.home.homeDirectory;
|
||||
in {
|
||||
home = {
|
||||
file.ncmpcpp = {
|
||||
source = ../config/ncmpcpp/config;
|
||||
target = "${home}/.config/ncmpcpp/config";
|
||||
};
|
||||
file.mpd = {
|
||||
source = ../config/mpd/mpd.conf;
|
||||
target = "${home}/.config/mpd/mpd.conf";
|
||||
};
|
||||
};
|
||||
}
|
10
home/modules/gtk.nix
Normal file
10
home/modules/gtk.nix
Normal file
@@ -0,0 +1,10 @@
|
||||
{config, pkgs,...}:
|
||||
{
|
||||
gtk = {
|
||||
enable = true;
|
||||
iconTheme.name = "Gruvbox-Material-Dark";
|
||||
iconTheme.package = pkgs.gruvbox-icons;
|
||||
theme.name = "Equilux";
|
||||
theme.package = pkgs.equilux-theme;
|
||||
};
|
||||
}
|
37
home/modules/programs.nix
Normal file
37
home/modules/programs.nix
Normal file
@@ -0,0 +1,37 @@
|
||||
{ pkgs, config, ...}:
|
||||
{
|
||||
imports = [
|
||||
./programs/nvim.nix
|
||||
];
|
||||
programs = {
|
||||
firefox = {
|
||||
enable = true;
|
||||
package = pkgs.firefox-bin;
|
||||
profiles.natto = {
|
||||
name = "natto";
|
||||
userChrome = builtins.readFile ../config/firefox/userChrome.css;
|
||||
userContent = builtins.readFile ../config/firefox/userContent.css;
|
||||
};
|
||||
};
|
||||
zathura = {
|
||||
enable = true;
|
||||
extraConfig = builtins.readFile ../config/zathura/zathurarc;
|
||||
options = {
|
||||
recolor = true;
|
||||
recolor-lightcolor = "rgba(0,0,0,0)";
|
||||
default-bg = "rgba(0,0,0,0.7)";
|
||||
};
|
||||
};
|
||||
ncmpcpp = {
|
||||
enable = true;
|
||||
};
|
||||
mpv = {
|
||||
enable = true;
|
||||
config = {
|
||||
force-window = "yes";
|
||||
keep-open = "yes";
|
||||
save-position-on-quit = "yes";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
88
home/modules/programs/nvim.nix
Normal file
88
home/modules/programs/nvim.nix
Normal file
@@ -0,0 +1,88 @@
|
||||
{config, pkgs, ...}:
|
||||
let
|
||||
plugs = {
|
||||
floaterm = {
|
||||
config = ''
|
||||
let g:floaterm_keymap_toggle = '<F1>'
|
||||
let g:floaterm_keymap_next = '<F2>'
|
||||
let g:floaterm_keymap_prev = '<F3>'
|
||||
let g:floaterm_keymap_new = '<F4>'
|
||||
|
||||
let g:floaterm_gitcommit='floaterm'
|
||||
let g:floaterm_autoinsert=1
|
||||
let g:floaterm_width=0.8
|
||||
let g:floaterm_height=0.8
|
||||
let g:floaterm_wintitle=0
|
||||
let g:floaterm_shell="/usr/bin/env fish"
|
||||
'';
|
||||
plugin = pkgs.vimPlugins.vim-floaterm;
|
||||
};
|
||||
nvim-colorizer = {
|
||||
plugin = pkgs.vimPlugins.nvim-colorizer-lua;
|
||||
config = ''
|
||||
packadd! nvim-colorizer.lua
|
||||
lua require'colorizer'.setup()
|
||||
'';
|
||||
};
|
||||
auto-pairs = {
|
||||
plugin = pkgs.vimPlugins.auto-pairs;
|
||||
};
|
||||
vim-closetag = {
|
||||
config = ''
|
||||
let g:closetag_filenames = "*.html,*.xhtml,*.phtml,*.js,*.erb,*.jsx"
|
||||
let g:closetag_xhtml_filenames = '*.xhtml,*.jsx,*.js,*.erb'
|
||||
let g:closetag_emptyTags_caseSensitive = 1
|
||||
let g:closetag_shortcut = '>'
|
||||
let g:closetag_close_shortcut = '<leader>>'
|
||||
'';
|
||||
plugin = pkgs.vimPlugins.vim-closetag;
|
||||
};
|
||||
nerdcommenter = {
|
||||
config = ''
|
||||
map <C-c> <plug>NERDCommenterToggle
|
||||
map <C-d> <plug>NERDCommenterSexy
|
||||
'';
|
||||
plugin = pkgs.vimPlugins.nerdcommenter;
|
||||
};
|
||||
vim-rooter = {
|
||||
plugin = pkgs.vimPlugins.vim-rooter;
|
||||
};
|
||||
vim-polyglot = {
|
||||
plugin = pkgs.vimPlugins.vim-polyglot;
|
||||
};
|
||||
themes = {
|
||||
gruvbox = {
|
||||
plugin = pkgs.vimPlugins.gruvbox;
|
||||
};
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
programs.neovim = {
|
||||
enable = true;
|
||||
vimAlias = true;
|
||||
viAlias = false;
|
||||
withNodeJs = true;
|
||||
withPython = true;
|
||||
extraConfig = ''
|
||||
let g:gruvbox_italic=1
|
||||
let g:gruvbox_contrast_dark="hard"
|
||||
let g:gruvbox_contrast_light="hard"
|
||||
set background=dark
|
||||
colorscheme gruvbox
|
||||
'' +
|
||||
builtins.readFile ../../config/nvim/init.vim +
|
||||
builtins.readFile ../../config/nvim/utils.vim;
|
||||
plugins = with plugs; [
|
||||
auto-pairs
|
||||
#nvim-colorizer
|
||||
floaterm
|
||||
vim-rooter
|
||||
nerdcommenter
|
||||
vim-polyglot
|
||||
vim-closetag
|
||||
themes.gruvbox
|
||||
];
|
||||
};
|
||||
}
|
||||
|
48
home/modules/services.nix
Normal file
48
home/modules/services.nix
Normal file
@@ -0,0 +1,48 @@
|
||||
{config, pkgs, ...}:
|
||||
let
|
||||
home = config.home.homeDirectory;
|
||||
in
|
||||
{
|
||||
services = {
|
||||
picom = {
|
||||
enable = true;
|
||||
extraOptions =
|
||||
''
|
||||
shadow = true;
|
||||
shadow-radius = 7;
|
||||
shadow-offset-x = -7;
|
||||
shadow-offset-y = -7;
|
||||
blurExclude = [ "class_g = 'dwm'" ];
|
||||
|
||||
inactive-opacity = 0.92;
|
||||
active-opacity = 0.97;
|
||||
inactive-opacity-override = true;
|
||||
blur-background = true;
|
||||
blur-method = "dual_kawase";
|
||||
blur-strength = 3;
|
||||
blur-kern = "3x3box";
|
||||
fading = true;
|
||||
fade-in-step = 0.05;
|
||||
fade-out-step = 0.05;
|
||||
|
||||
backend = "glx";
|
||||
detect-rounded-corners = true;
|
||||
detect-client-opacity = true;
|
||||
experimental-backends = true;
|
||||
vsync = false;
|
||||
wintypes:
|
||||
{
|
||||
tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; };
|
||||
popup_menu={opacity=0.8;};
|
||||
dropdown_menu={opacity=0.8;};
|
||||
};
|
||||
shadow-exclude = ["x = 0 && y = 0 && override_redirect = true"]
|
||||
'';
|
||||
|
||||
};
|
||||
sxhkd = {
|
||||
enable = false;
|
||||
extraConfig = builtins.readFile ./config/sxhkd/sxhkdrc;
|
||||
};
|
||||
};
|
||||
}
|
9
home/modules/xsession.nix
Normal file
9
home/modules/xsession.nix
Normal file
@@ -0,0 +1,9 @@
|
||||
{pkgs, config, ...}:
|
||||
{
|
||||
xsession = {
|
||||
windowManager.bspwm = {
|
||||
enable = false;
|
||||
extraConfig = builtins.readFile ./config/bspwm/bspwmrc;
|
||||
};
|
||||
};
|
||||
}
|
@@ -1,6 +1,13 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./modules/programs.nix
|
||||
./modules/xsession.nix
|
||||
./modules/files.nix
|
||||
./modules/services.nix
|
||||
./modules/gtk.nix
|
||||
];
|
||||
nixpkgs = {
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
@@ -8,10 +15,24 @@
|
||||
};
|
||||
home = {
|
||||
packages = with pkgs; [
|
||||
mpdas
|
||||
mpd
|
||||
dunst
|
||||
pavucontrol
|
||||
anup
|
||||
proxychains
|
||||
cmake
|
||||
xfce.thunar
|
||||
discord
|
||||
customscripts
|
||||
mpd_discord_richpresence
|
||||
sox
|
||||
qbittorrent
|
||||
tor-browser-bundle-bin
|
||||
mpc_cli
|
||||
flameshot
|
||||
luajit
|
||||
mpv
|
||||
];
|
||||
};
|
||||
}
|
||||
|
7
home/root.nix
Normal file
7
home/root.nix
Normal file
@@ -0,0 +1,7 @@
|
||||
{config, ...}:
|
||||
{
|
||||
imports = [
|
||||
./modules/programs/nvim.nix
|
||||
./modules/gtk.nix
|
||||
];
|
||||
}
|
18
overlays/anup/default.nix
Normal file
18
overlays/anup/default.nix
Normal file
@@ -0,0 +1,18 @@
|
||||
{ lib, rustPlatform, fetchFromGitHub, sqlite, xdg_utils}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "anup";
|
||||
version = "0.4.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "Acizza";
|
||||
repo = "anup";
|
||||
rev = version;
|
||||
sha256 = "sha256-4pXF4p4K8+YihVB9NdgT6bOidmQEgWXUbcbvgXJ0IDA=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
sqlite.dev
|
||||
xdg_utils
|
||||
];
|
||||
cargoSha256 = "sha256-1TA2HDHKA3twFtlAWaC2zcRzS8TJwcbBt1OTQ3hC3qM=";
|
||||
}
|
15
overlays/gruvbox-icons/default.nix
Normal file
15
overlays/gruvbox-icons/default.nix
Normal file
@@ -0,0 +1,15 @@
|
||||
{ stdenv, fetchgit }:
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gruvbox-icons";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/sainnhe/gruvbox-material-gtk";
|
||||
rev = "2418ff7988411c57f8974f14adeb70a64e7f25c1";
|
||||
sha256 = "sha256-56Mu8zHcnB4++QXjAq3S7/UPvDB8DlpT14mAW3ketSY=";
|
||||
};
|
||||
dontBuild = true;
|
||||
installPhase = ''
|
||||
mkdir -p $out/share
|
||||
cp -r icons $out/share
|
||||
'';
|
||||
}
|
||||
|
@@ -1,4 +1,6 @@
|
||||
final: prev: {
|
||||
mpd_discord_richpresence = prev.callPackage ./mpd-rpc {};
|
||||
customscripts = prev.callPackage ./customscripts {};
|
||||
gruvbox-icons = prev.callPackage ./gruvbox-icons {};
|
||||
anup = prev.callPackage ./anup {};
|
||||
}
|
||||
|
Reference in New Issue
Block a user