diff --git a/.directory b/.directory new file mode 100644 index 0000000..39fd5ae --- /dev/null +++ b/.directory @@ -0,0 +1,2 @@ +[Desktop Entry] +Icon=nix-snowflake diff --git a/boxes/desktop/home.nix b/boxes/desktop/home.nix index d8852ce..67f4805 100644 --- a/boxes/desktop/home.nix +++ b/boxes/desktop/home.nix @@ -55,6 +55,7 @@ # Home Manager is pretty good at managing dotfiles. The primary way to manage # plain files is through 'home.file'. home.file = { + ".gitconfig".source = ../../dotfiles/.gitconfig; # # 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. diff --git a/build b/build index ada133b..d3be5a6 100755 --- a/build +++ b/build @@ -7,12 +7,12 @@ BOX="default" pushd ~/nixos/ -if git diff --quiet '*.nix' && [[ !( $1 =~ "*force*") ]] then - echo "No changes. Exiting" - # notify-send "No changes. Exiting" - popd - exit 0 -fi +# if git diff --quiet '*.nix' && [[ !( $1 =~ "*force*") ]] then +# echo "No changes. Exiting" +# # notify-send "No changes. Exiting" +# popd +# exit 0 +# fi #TODO: Format files #format ** diff --git a/build.log b/build.log index 96f6b7d..f765781 100644 --- a/build.log +++ b/build.log @@ -1,42 +1,21 @@ warning: Git tree '/home/meyer/nixos' is dirty building the system configuration... warning: Git tree '/home/meyer/nixos' is dirty -trace: warning: The option `services.xserver.desktopManager.plasma6.enable' defined in `/nix/store/7cimppjl9ny9q2m17n56krb0lm0qfjx5-source/boxes/desktop/configuration.nix' has been renamed to `services.desktopManager.plasma6.enable'. -trace: warning: The option `services.xserver.displayManager.sddm.enable' defined in `/nix/store/7cimppjl9ny9q2m17n56krb0lm0qfjx5-source/boxes/desktop/configuration.nix' has been renamed to `services.displayManager.sddm.enable'. -these 12 derivations will be built: - /nix/store/fhz9fl6y99r9d1nn4cz85m3aczskz935-system-path.drv - /nix/store/nh9aw3rzhhi420i8l0cfm6idbldiz9ym-dbus-1.drv - /nix/store/39mq2p8kqvvpf01kryr5ndl5d95i25nd-X-Restart-Triggers-dbus-broker.drv - /nix/store/42ij6g9xllzj3ikcfwxp5q9iqmjxrwf9-unit-dbus-broker.service.drv - /nix/store/5vdqz7lksn6i60k20dq377p1wlgz68n6-X-Restart-Triggers-polkit.drv - /nix/store/7fs7ffixki0f8wk5pxbi7szfgsk8d1sv-unit-dbus-broker.service.drv - /nix/store/bszhslrydsqyifshmxh6pmil06q1ng2i-user-units.drv - /nix/store/n0b7bqcp2iykrcqinlx154f58sgj4adf-unit-polkit.service.drv - /nix/store/xzfvalsi3wwdfw4qdkcwn67rpqqhxc9s-unit-accounts-daemon.service.drv - /nix/store/c6v8mda2hn24ln28g6nh4hlr9rlkhhy2-system-units.drv - /nix/store/sakrha478bkc9w408a77hfg52lnyhxw0-etc.drv - /nix/store/vxvlch4idj7k0y9yrrcsdlh6sd4smsy7-nixos-system-nix-desktop-evo4b5-24.05.20240419.5c24cf2.drv -these 4 paths will be fetched (1.57 MiB download, 7.20 MiB unpacked): - /nix/store/wc6zh7fsxqgadfz8sx1f4v3l87m4b9jm-gcc-13.2.0-info - /nix/store/ljajarzw7vdpnr5hhw5hffwb6wsh6idf-gcc-13.2.0-man - /nix/store/kq3acv19z969fn3c8kaq3mqwnii2arcn-gcc-wrapper-13.2.0-info - /nix/store/fl2nf58y7r6hzymmrhahbf7gp7c6dv8w-gcc-wrapper-13.2.0-man -copying path '/nix/store/wc6zh7fsxqgadfz8sx1f4v3l87m4b9jm-gcc-13.2.0-info' from 'https://cache.nixos.org'... -copying path '/nix/store/ljajarzw7vdpnr5hhw5hffwb6wsh6idf-gcc-13.2.0-man' from 'https://cache.nixos.org'... -copying path '/nix/store/fl2nf58y7r6hzymmrhahbf7gp7c6dv8w-gcc-wrapper-13.2.0-man' from 'https://cache.nixos.org'... -copying path '/nix/store/kq3acv19z969fn3c8kaq3mqwnii2arcn-gcc-wrapper-13.2.0-info' from 'https://cache.nixos.org'... -building '/nix/store/fhz9fl6y99r9d1nn4cz85m3aczskz935-system-path.drv'... -building '/nix/store/5vdqz7lksn6i60k20dq377p1wlgz68n6-X-Restart-Triggers-polkit.drv'... -building '/nix/store/nh9aw3rzhhi420i8l0cfm6idbldiz9ym-dbus-1.drv'... -building '/nix/store/xzfvalsi3wwdfw4qdkcwn67rpqqhxc9s-unit-accounts-daemon.service.drv'... -building '/nix/store/39mq2p8kqvvpf01kryr5ndl5d95i25nd-X-Restart-Triggers-dbus-broker.drv'... -building '/nix/store/n0b7bqcp2iykrcqinlx154f58sgj4adf-unit-polkit.service.drv'... -building '/nix/store/42ij6g9xllzj3ikcfwxp5q9iqmjxrwf9-unit-dbus-broker.service.drv'... -building '/nix/store/7fs7ffixki0f8wk5pxbi7szfgsk8d1sv-unit-dbus-broker.service.drv'... -building '/nix/store/c6v8mda2hn24ln28g6nh4hlr9rlkhhy2-system-units.drv'... -building '/nix/store/bszhslrydsqyifshmxh6pmil06q1ng2i-user-units.drv'... -building '/nix/store/sakrha478bkc9w408a77hfg52lnyhxw0-etc.drv'... -building '/nix/store/vxvlch4idj7k0y9yrrcsdlh6sd4smsy7-nixos-system-nix-desktop-evo4b5-24.05.20240419.5c24cf2.drv'... +trace: warning: The option `services.xserver.desktopManager.plasma6.enable' defined in `/nix/store/wlq3vyglfpcadpb97kspz5xpn9qh1gvj-source/boxes/desktop/configuration.nix' has been renamed to `services.desktopManager.plasma6.enable'. +trace: warning: The option `services.xserver.displayManager.sddm.enable' defined in `/nix/store/wlq3vyglfpcadpb97kspz5xpn9qh1gvj-source/boxes/desktop/configuration.nix' has been renamed to `services.displayManager.sddm.enable'. +these 6 derivations will be built: + /nix/store/a4vvr4iqdk0kh26yzdd0p9fizzrfz27w-home-manager-files.drv + /nix/store/h2frd4abrsvgr9ar6c7i6ysic3mwankm-home-manager-generation.drv + /nix/store/gkklgmi47h006wqyj86jnpiqzkq43cbl-unit-home-manager-meyer.service.drv + /nix/store/j9nff4nzzfrwj5kkkqab6anwzpwvczl7-system-units.drv + /nix/store/54yw7270jq9nmkxj30i6373n36pcnqm8-etc.drv + /nix/store/ygfzwvl7qmypy911ra9v0l7wr8x4svnc-nixos-system-nix-desktop-evo4b5-24.05.20240419.5c24cf2.drv +building '/nix/store/a4vvr4iqdk0kh26yzdd0p9fizzrfz27w-home-manager-files.drv'... +building '/nix/store/h2frd4abrsvgr9ar6c7i6ysic3mwankm-home-manager-generation.drv'... +building '/nix/store/gkklgmi47h006wqyj86jnpiqzkq43cbl-unit-home-manager-meyer.service.drv'... +building '/nix/store/j9nff4nzzfrwj5kkkqab6anwzpwvczl7-system-units.drv'... +building '/nix/store/54yw7270jq9nmkxj30i6373n36pcnqm8-etc.drv'... +building '/nix/store/ygfzwvl7qmypy911ra9v0l7wr8x4svnc-nixos-system-nix-desktop-evo4b5-24.05.20240419.5c24cf2.drv'... updating GRUB 2 menu... Warning: os-prober will be executed to detect other bootable partitions. Its output will be used to detect bootable binaries on them and create new boot entries. @@ -48,11 +27,8 @@ lsblk: /dev/mapper/no*[0-9]: not a block device lsblk: /dev/mapper/raid*[0-9]: not a block device lsblk: /dev/mapper/disks*[0-9]: not a block device Found Windows Boot Manager on /dev/nvme0n1p2@/efi/Microsoft/Boot/bootmgfw.efi -stopping the following units: accounts-daemon.service activating the configuration... setting up /etc... reloading user units for meyer... restarting sysinit-reactivation.target -reloading the following units: dbus-broker.service -restarting the following units: polkit.service -starting the following units: accounts-daemon.service +restarting the following units: home-manager-meyer.service diff --git a/dotfiles/.config/btop/btop.conf b/dotfiles/.config/btop/btop.conf new file mode 100644 index 0000000..b89c539 --- /dev/null +++ b/dotfiles/.config/btop/btop.conf @@ -0,0 +1,248 @@ +#? Config file for btop v. 1.3.2 + +#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes. +#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes" +color_theme = "/usr/share/btop/themes/tokyo-storm.theme" + +#* If the theme set background should be shown, set to False if you want terminal background transparency. +theme_background = True + +#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false. +truecolor = True + +#* Set to true to force tty mode regardless if a real tty has been detected or not. +#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols. +force_tty = False + +#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets. +#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box. +#* Use whitespace " " as separator between different presets. +#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty" +presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty" + +#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists. +#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift. +vim_keys = False + +#* Rounded corners on boxes, is ignored if TTY mode is ON. +rounded_corners = True + +#* Default symbols to use for graph creation, "braille", "block" or "tty". +#* "braille" offers the highest resolution but might not be included in all fonts. +#* "block" has half the resolution of braille but uses more common characters. +#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY. +#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view. +graph_symbol = "braille" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_cpu = "default" + +# Graph symbol to use for graphs in gpu box, "default", "braille", "block" or "tty". +graph_symbol_gpu = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_mem = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_net = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_proc = "default" + +#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace. +shown_boxes = "proc cpu mem" + +#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs. +update_ms = 200 + +#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct", +#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly. +proc_sorting = "memory" + +#* Reverse sorting order, True or False. +proc_reversed = False + +#* Show processes as a tree. +proc_tree = False + +#* Use the cpu graph colors in the process list. +proc_colors = True + +#* Use a darkening gradient in the process list. +proc_gradient = True + +#* If process cpu usage should be of the core it's running on or usage of the total available cpu power. +proc_per_core = False + +#* Show process memory as bytes instead of percent. +proc_mem_bytes = True + +#* Show cpu graph for each process. +proc_cpu_graphs = True + +#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate) +proc_info_smaps = False + +#* Show proc box on left side of screen instead of right. +proc_left = False + +#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop). +proc_filter_kernel = False + +#* In tree-view, always accumulate child process resources in the parent process. +proc_aggregate = False + +#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available. +#* Select from a list of detected attributes from the options menu. +cpu_graph_upper = "total" + +#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available. +#* Select from a list of detected attributes from the options menu. +cpu_graph_lower = "total" + +#* If gpu info should be shown in the cpu box. Available values = "Auto", "On" and "Off". +show_gpu_info = "Auto" + +#* Toggles if the lower CPU graph should be inverted. +cpu_invert_lower = True + +#* Set to True to completely disable the lower CPU graph. +cpu_single_graph = False + +#* Show cpu box at bottom of screen instead of top. +cpu_bottom = False + +#* Shows the system uptime in the CPU box. +show_uptime = True + +#* Show cpu temperature. +check_temp = True + +#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors. +cpu_sensor = "Auto" + +#* Show temperatures for cpu cores also if check_temp is True and sensors has been found. +show_coretemp = True + +#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core. +#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine. +#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries. +#* Example: "4:0 5:1 6:3" +cpu_core_map = "" + +#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine". +temp_scale = "celsius" + +#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024. +base_10_sizes = False + +#* Show CPU frequency. +show_cpu_freq = True + +#* Draw a clock at top of screen, formatting according to strftime, empty string to disable. +#* Special formatting: /host = hostname | /user = username | /uptime = system uptime +clock_format = "%X" + +#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort. +background_update = True + +#* Custom cpu model name, empty string to disable. +custom_cpu_name = "" + +#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ". +#* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot /home/user". +disks_filter = "" + +#* Show graphs instead of meters for memory values. +mem_graphs = True + +#* Show mem box below net box instead of above. +mem_below_net = False + +#* Count ZFS ARC in cached and available memory. +zfs_arc_cached = True + +#* If swap memory should be shown in memory box. +show_swap = True + +#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk. +swap_disk = True + +#* If mem box should be split to also show disks info. +show_disks = False + +#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar. +only_physical = True + +#* Read disks list from /etc/fstab. This also disables only_physical. +use_fstab = True + +#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool) +zfs_hide_datasets = False + +#* Set to true to show available disk space for privileged users. +disk_free_priv = False + +#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view. +show_io_stat = True + +#* Toggles io mode for disks, showing big graphs for disk read/write speeds. +io_mode = False + +#* Set to True to show combined read/write io graphs in io mode. +io_graph_combined = False + +#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ". +#* Example: "/mnt/media:100 /:20 /boot:1". +io_graph_speeds = "" + +#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False. +net_download = 100 + +net_upload = 100 + +#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest. +net_auto = True + +#* Sync the auto scaling for download and upload to whichever currently has the highest scale. +net_sync = True + +#* Starts with the Network Interface specified here. +net_iface = "" + +#* Show battery stats in top right if battery is present. +show_battery = True + +#* Which battery to use if multiple are present. "Auto" for auto detection. +selected_battery = "Auto" + +#* Show power stats of battery next to charge indicator. +show_battery_watts = True + +#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG". +#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info. +log_level = "WARNING" + +#* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards. +nvml_measure_pcie_speeds = True + +#* Horizontally mirror the GPU graph. +gpu_mirror_graph = True + +#* Custom gpu0 model name, empty string to disable. +custom_gpu_name0 = "" + +#* Custom gpu1 model name, empty string to disable. +custom_gpu_name1 = "" + +#* Custom gpu2 model name, empty string to disable. +custom_gpu_name2 = "" + +#* Custom gpu3 model name, empty string to disable. +custom_gpu_name3 = "" + +#* Custom gpu4 model name, empty string to disable. +custom_gpu_name4 = "" + +#* Custom gpu5 model name, empty string to disable. +custom_gpu_name5 = "" diff --git a/dotfiles/.config/btop/btop.log b/dotfiles/.config/btop/btop.log new file mode 100644 index 0000000..e69de29 diff --git a/dotfiles/.config/btop/themes/tokyo.theme b/dotfiles/.config/btop/themes/tokyo.theme new file mode 100644 index 0000000..be834e3 --- /dev/null +++ b/dotfiles/.config/btop/themes/tokyo.theme @@ -0,0 +1,96 @@ +#Bashtop theme in the style of Tokyo Night + +# All graphs and meters can be gradients +# For single color graphs leave "mid" and "end" variable empty. +# Use "start" and "end" variables for two color gradient +# Use "start", "mid" and "end" for three color gradient + +# Main background, empty for terminal default, need to be empty if you want transparent background +theme[main_bg]="" + +# Main text color +theme[main_fg]="#c0caf5" + +# Title color for boxes +theme[title]="#c0caf5" + +# Highlight color for keyboard shortcuts +theme[hi_fg]="#7aa2f7" + +# Background color of selected item in processes box +theme[selected_bg]="#1a1b26" + +# Foreground color of selected item in processes box +theme[selected_fg]="#9ece6a" + +# Color of inactive/disabled text +theme[inactive_fg]="#a9b1d6" + +# Color of text appearing on top of graphs, i.e uptime and current network graph scaling +theme[graph_text]="#bb9af7" + +# Background color of the percentage meters +theme[meter_bg]="#9ece6a" + +# Misc colors for processes box including mini cpu graphs, details memory graph and details status text +theme[proc_misc]="#7aa2f7" + +# Cpu box outline color +theme[cpu_box]="#73daca" + +# Memory/disks box outline color +theme[mem_box]="#e0af68" + +# Net up/down box outline color +theme[net_box]="#7aa2f7" + +# Processes box outline color +theme[proc_box]="#f7768e" + +# Box divider line and small boxes line color +theme[div_line]="#73daca" + +# Temperature graph colors +theme[temp_start]="#7dcfff" +theme[temp_mid]="#7aa2f7" +theme[temp_end]="#bb9af7" + +# CPU graph colors +theme[cpu_start]="#9ece6a" +theme[cpu_mid]="#e0af68" +theme[cpu_end]="#f7768e" + +# Mem/Disk free meter +theme[free_start]="#9ece6a" +theme[free_mid]="#e0af68" +theme[free_end]="#ff9e64" + +# Mem/Disk cached meter +theme[cached_start]="#414868" +theme[cached_mid]="#9aa5ce" +theme[cached_end]="#c0caf5" + +# Mem/Disk available meter +theme[available_start]="#634f30" +theme[available_mid]="#965027" +theme[available_end]="#ff9e64" + +# Mem/Disk used meter +theme[used_start]="#8c4351" +theme[used_mid]="#f7768e" +theme[used_end]="#ff9e64" + +# Download graph colors +theme[download_start]="#414868" +theme[download_mid]="#9aa5ce" +theme[download_end]="#7dcfff" + +# Upload graph colors +theme[upload_start]="#5a4a78" +theme[upload_mid]="#bb9af7" +theme[upload_end]="#dacef0" + +# Process box color gradient for threads, mem and cpu usage +theme[process_start]="#73daca" +theme[process_mid]="#e0af68" +theme[process_end]="#f7768e" \ No newline at end of file diff --git a/dotfiles/.config/dunst/assets/notification/fallback.png b/dotfiles/.config/dunst/assets/notification/fallback.png new file mode 100644 index 0000000..204aeda Binary files /dev/null and b/dotfiles/.config/dunst/assets/notification/fallback.png differ diff --git a/dotfiles/.config/dunst/assets/notification/scrot.png b/dotfiles/.config/dunst/assets/notification/scrot.png new file mode 100644 index 0000000..1e12f38 Binary files /dev/null and b/dotfiles/.config/dunst/assets/notification/scrot.png differ diff --git a/dotfiles/.config/dunst/assets/notification/speaker.png b/dotfiles/.config/dunst/assets/notification/speaker.png new file mode 100644 index 0000000..579b34f Binary files /dev/null and b/dotfiles/.config/dunst/assets/notification/speaker.png differ diff --git a/dotfiles/.config/dunst/assets/ui/brightness_down.png b/dotfiles/.config/dunst/assets/ui/brightness_down.png new file mode 100644 index 0000000..b4b397f Binary files /dev/null and b/dotfiles/.config/dunst/assets/ui/brightness_down.png differ diff --git a/dotfiles/.config/dunst/assets/ui/brightness_up.png b/dotfiles/.config/dunst/assets/ui/brightness_up.png new file mode 100644 index 0000000..a18297e Binary files /dev/null and b/dotfiles/.config/dunst/assets/ui/brightness_up.png differ diff --git a/dotfiles/.config/dunst/assets/ui/volume_down.png b/dotfiles/.config/dunst/assets/ui/volume_down.png new file mode 100644 index 0000000..cc1810d Binary files /dev/null and b/dotfiles/.config/dunst/assets/ui/volume_down.png differ diff --git a/dotfiles/.config/dunst/assets/ui/volume_muted.svg b/dotfiles/.config/dunst/assets/ui/volume_muted.svg new file mode 100644 index 0000000..34fad42 --- /dev/null +++ b/dotfiles/.config/dunst/assets/ui/volume_muted.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/dotfiles/.config/dunst/assets/ui/volume_up.png b/dotfiles/.config/dunst/assets/ui/volume_up.png new file mode 100644 index 0000000..0926b71 Binary files /dev/null and b/dotfiles/.config/dunst/assets/ui/volume_up.png differ diff --git a/dotfiles/.config/dunst/dunstrc b/dotfiles/.config/dunst/dunstrc new file mode 100644 index 0000000..2843bf3 --- /dev/null +++ b/dotfiles/.config/dunst/dunstrc @@ -0,0 +1,220 @@ +[global] + font = "Product Sans" + + # Allow a small subset of html markup: + # bold + # italic + # strikethrough + # underline + # + # for a complete reference see http://developer.gnome.org/pango/stable/PangoMarkupFormat.html + # If markup is not allowed, those tags will be stripped out of the message. + allow_markup = yes + + # The format of the message. Possible variables are: + # %a appname + # %s summary + # %b body + # %i iconname (including its path) + # %I iconname (without its path) + # %p progress value if set ([ 0%] to [100%]) or nothing + # Markup is allowed + format = "%s\n%b" + + # Sort messages by urgency + sort = yes + + # Show how many messages are currently hidden (because of geometry) + indicate_hidden = yes + + # Alignment of message text. + # Possible values are "left", "center" and "right" + alignment = left + + # The frequency with wich text that is longer than the notification + # window allows bounces back and forth. + # This option conflicts with 'word_wrap'. + # Set to 0 to disable + bounce_freq = 0 + + # Specify where to make an ellipsis in long lines. + # Possible values are "start", "middle" and "end". + ellipsize = middle + + # Show age of message if message is older than show_age_threshold seconds. + # set to -1 to disable + show_age_threshold = -1 + + # Split notifications into multiple lines if they don't fit into geometry + word_wrap = yes + + # Ignore newlines '\n' in notifications + ignore_newline = no + + ### Geometry ### + + # dynamic width from 0 to 300 + # width = (0, 300) + # constant width of 300 + width = 320 + + # The maximum height of a single notification, excluding the frame. + height = 500 + + # Position of the notification + origin = top-right + + # Offset from the origin + offset = 10x12 + + # Turn on the progess bar. It appears when a progress hint is passed with + # for example dunstify -h int:value:12 + progress_bar = true + + # Set the progress bar height. This includes the frame, so make sure + # it's at least twice as big as the frame width. + progress_bar_height = 14 + + # Set the frame width of the progress bar + progress_bar_frame_width = 1 + + # Set the minimum width for the progress bar + progress_bar_min_width = 150 + + # Set the maximum width for the progress bar + progress_bar_max_width = 300 + + # Frame + frame_width = 3 + frame_color = "#1C2325" + + # The transparency of the window. range: [0; 100] + # This option will only work if a compositing windowmanager is present (e.g. xcompmgr, compiz, etc..) + transparency = 0 + + # Don't remove messages, if the user is idle (no mouse or keyboard input) + # for longer than idle_threshold seconds. + # Set to 0 to disable. + idle_threshold = 0 + + # Which monitor should the notifications be displayed on. + monitor = 0 + + # Display notification on focused monitor. Possible modes are: + # mouse: follow mouse pointer + # keyboard: follow window with keyboard focus + # none: don't follow anything + # + # "keyboard" needs a windowmanager that exports the _NET_ACTIVE_WINDOW property. + # This should be the case for almost all modern windowmanagers. + # + # If this option is set to mouse or keyboard, the monitor option will be + # ignored. + follow = none + + # Display indicators for URLs (U) and actions (A). + show_indicators = no + + # Should a notification popped up from history be sticky or + # timeout as if it would normally do. + sticky_history = yes + + # The height of a single line. If the height is smaller than the font height, + # it will get raised to the font height. + # This adds empty space above and under the text. + line_height = 8 + + # Draw a line of 'separatpr_height' pixel height between two notifications. + # Set to 0 to disable + separator_height = 3 + + # Padding between text and separator + padding = 16 + + # Horizontal padding + horizontal_padding = 12 + + # Padding between text and icon. + text_icon_padding = 16 + + # Define a color for the separator. + # possible values are: + # * auto: dunst tries to find a color fitting to the background + # * foreground: use the same color as the foreground + # * frame: use the same color as the frame. + # * anything else will be interpreted as a X color + separator_color = frame + + # Print a notification on startup + # This is mainly for error detection, since dbus (re-)starts dunst + # automatically after a crash. + startup_notification = false + + # Align icons left/right/off + icon_position = left + + # Scale small icons up to this size, set to 0 to disable. Helpful + # for e.g. small files or high-dpi screens. In case of conflict, + # max_icon_size takes precedence over this. + min_icon_size = 32 + + # Scale larger icons down to this size, set to 0 to disable + max_icon_size = 48 + + # Define the corner radius of the notification window + # in pixel size. If the radius is 0, you have no rounded + # corners. + # The radius will be automatically lowered if it exceeds half of the + # notification height to avoid clipping text and/or icons. + corner_radius = 17 + + # Always run rule-defined scripts, even if the notification is suppressed + always_run_script = true + + # Mouse actions + mouse_left_click = close_current + mouse_middle_click = do_action, close_current + mouse_right_click = close_all + +[songArtLogger] + script = ~/.config/dunst/scripts/songArtLogger.sh + +[urgency_low] + timeout = 6 + background = "#0d0f16" + foreground = "#CDD6F4" + frame_color = "#191d24" + highlight = "#7ba5dd" + +[urgency_normal] + # script = ~/.config/dunst/scripts/playNotificationSound.sh + timeout = 6 + background = "#0d0f16" + foreground = "#CDD6F4" + frame_color = "#0d0f16" + highlight = "#7ba5dd" + +[urgency_critical] + script = ~/.config/dunst/scripts/playNotificationSound.sh + timeout = 6 + background = "#0d0f16" + foreground = "#CDD6F4" + frame_color = "#0d0f16" + highlight = "#ee6a70" + +[backlight] + summary = "Backlight" + highlight = "#ffb29b" + set_stack_tag = "backlight" + +[volume] + summary = "Volume" + set_stack_tag = "volume" + +[volume-muted] + summary = "Volume Muted" + highlight = "#ee6a70" + +[volume-unmuted] + summary = "Volume Unmuted" + highlight = "#ee6a70" \ No newline at end of file diff --git a/dotfiles/.config/dunst/scripts/playNotificationSound.sh b/dotfiles/.config/dunst/scripts/playNotificationSound.sh new file mode 100644 index 0000000..993c548 --- /dev/null +++ b/dotfiles/.config/dunst/scripts/playNotificationSound.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +canberra-gtk-play -i message \ No newline at end of file diff --git a/dotfiles/.config/dunst/scripts/songArtLogger.sh b/dotfiles/.config/dunst/scripts/songArtLogger.sh new file mode 100644 index 0000000..f73beb4 --- /dev/null +++ b/dotfiles/.config/dunst/scripts/songArtLogger.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +TMP_DIR="$HOME/.cache/dunst" +TMP_COVER_PATH="$TMP_DIR/$DUNST_SUMMARY.png" +TMP_TEMP_PATH="$TMP_DIR/temp.png" + +if [ ! -d "$TMP_DIR" ]; then + mkdir -p "$TMP_DIR" +fi + +ART_FROM_SPOTIFY="$(playerctl -p %any,spotify metadata mpris:artUrl | sed -e 's/open.spotify.com/i.scdn.co/g')" + +if [[ $(playerctl -p spotify,%any,firefox,chromium,brave,mpd metadata mpris:artUrl) ]]; then + curl -s "$ART_FROM_SPOTIFY" --output "$TMP_COVER_PATH" +fi + +cp "$TMP_TEMP_PATH" "$TMP_COVER_PATH" \ No newline at end of file diff --git a/dotfiles/.config/gh/config.yml b/dotfiles/.config/gh/config.yml new file mode 100644 index 0000000..e3677a7 --- /dev/null +++ b/dotfiles/.config/gh/config.yml @@ -0,0 +1 @@ +aliases: {} diff --git a/dotfiles/.config/gh/hosts.yml b/dotfiles/.config/gh/hosts.yml new file mode 100644 index 0000000..7a755b7 --- /dev/null +++ b/dotfiles/.config/gh/hosts.yml @@ -0,0 +1,4 @@ +github.com: + oauth_token: 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 + user: sadanslargehole + git_protocol: ssh diff --git a/dotfiles/.config/hypr/flame.sh b/dotfiles/.config/hypr/flame.sh new file mode 100644 index 0000000..8df9dd9 --- /dev/null +++ b/dotfiles/.config/hypr/flame.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +XDG_CURRENT_DESKTOP=sway flameshot \ No newline at end of file diff --git a/dotfiles/.config/hypr/frappe.conf b/dotfiles/.config/hypr/frappe.conf new file mode 100644 index 0000000..94a32db --- /dev/null +++ b/dotfiles/.config/hypr/frappe.conf @@ -0,0 +1,61 @@ +$rosewaterAlpha = f2d5cf +$flamingoAlpha = eebebe +$pinkAlpha = f4b8e4 +$mauveAlpha = ca9ee6 +$redAlpha = e78284 +$maroonAlpha = ea999c +$peachAlpha = ef9f76 +$yellowAlpha = e5c890 +$greenAlpha = a6d189 +$tealAlpha = 81c8be +$skyAlpha = 99d1db +$sapphireAlpha = 85c1dc +$blueAlpha = 8caaee +$lavenderAlpha = babbf1 + +$textAlpha = c6d0f5 +$subtext1Alpha = b5bfe2 +$subtext0Alpha = a5adce + +$overlay2Alpha = 949cbb +$overlay1Alpha = 838ba7 +$overlay0Alpha = 737994 + +$surface2Alpha = 626880 +$surface1Alpha = 51576d +$surface0Alpha = 414559 + +$baseAlpha = 303446 +$mantleAlpha = 292c3c +$crustAlpha = 232634 + +$rosewater = 0xfff5e0dc +$flamingo = 0xfff2cdcd +$pink = 0xfff5c2e7 +$mauve = 0xffcba6f7 +$red = 0xfff38ba8 +$maroon = 0xffeba0ac +$peach = 0xfffab387 +$yellow = 0xfff9e2af +$green = 0xffa6e3a1 +$teal = 0xff94e2d5 +$sky = 0xff89dceb +$sapphire = 0xff74c7ec +$blue = 0xff89b4fa +$lavender = 0xffb4befe + +$text = 0xffcdd6f4 +$subtext1 = 0xffbac2de +$subtext0 = 0xffa6adc8 + +$overlay2 = 0xff9399b2 +$overlay1 = 0xff7f849c +$overlay0 = 0xff6c7086 + +$surface2 = 0xff585b70 +$surface1 = 0xff45475a +$surface0 = 0xff313244 + +$base = 0xff1e1e2e +$mantle = 0xff181825 +$crust = 0xff11111b diff --git a/dotfiles/.config/hypr/hyprland.conf b/dotfiles/.config/hypr/hyprland.conf new file mode 100644 index 0000000..6a04be8 --- /dev/null +++ b/dotfiles/.config/hypr/hyprland.conf @@ -0,0 +1,244 @@ + +source=/home/meyer/.config/hypr/frappe.conf +######################################################################################## +# AUTOGENERATED HYPR CONFIG. +# PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT, +# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS. +######################################################################################## + +# +# Please note not all available settings / options are set here. +# For a full list, see the wiki +#wt +exec-once = ibus-daemon -rxR +exec-once = /usr/lib/polkit-kde-authentication-agent-1 +exec-once = waybar +exec-once = wl-paste --watch cliphist store +exec-once = dunst +exec-once = swaybg -i /home/meyer/.bg +exec-once = /home/meyer/.config/hypr/ihate.sh +exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP +exec-once=swayidle -w timeout 600 'swaylock-fancy' +exec-once=/usr/bin/nm-applet +exec-once = blueman-applet +exec-once=systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP +exec-once=/home/meyer/.config/hypr/flame.sh +#TODO: find out what this does +#exec-once=~/.config/hypr/scripts/startpage.sh +#autogenerated = 1 # remove this line to remove the warning +#PLUGINS +#plugin = /home/meyer/.config/hypr/plugins/split-monitor-workspaces.so +# See https://wiki.hyprland.org/Configuring/Monitors/ +#monitor=,preferred,auto,auto +monitor=HDMI-A-1,1920x1200@60,0x0,auto +monitor=DP-3,1920x1080@144,3520x0,auto +monitor=DP-1,1600x900@60,1920x0,auto + +# See https://wiki.hyprland.org/Configuring/Keywords/ for more + +# Execute your favorite apps at launch +# exec-once = waybar & hyprpaper & firefox + +# Source a file (multi-file configs) +# source = ~/.config/hypr/myColors.conf + +# Some default env vars. +env = XCURSOR_SIZE,24 + +# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ +input { + kb_layout = us + kb_variant = + kb_model = + kb_options = + kb_rules = + + follow_mouse = 1 + + touchpad { + natural_scroll = no + } + + sensitivity = -.5 # -1.0 - 1.0, 0 means no modification. +} + +general { + layout=master + sensitivity=1.0 # for mouse cursor + + gaps_in=5 + gaps_out=20 + border_size=2 + col.active_border=0xff5e81ac + col.inactive_border=0x66333333 + + apply_sens_to_raw=0 # whether to apply the sensitivity to raw input (e.g. used by games where you aim using your mouse) +} + +decoration { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + + rounding = 18 + + blur { + enabled = true + size = 7 + passes = 2 + new_optimizations = true + } + + drop_shadow = yes + shadow_range = 15 + col.shadow = 0xffa7caff + col.shadow_inactive = 0x50000000 +} +blurls=waybar +blurls=lockscreen +animations { + enabled=1 + # bezier=overshot,0.05,0.9,0.1,1.1 + bezier=overshot,0.13,0.99,0.29,1.1 + animation=windows,1,4,overshot,popin + animation=fade,1,10,default + animation=workspaces,1,6,overshot,slide + animation=border,1,10,default +} + +dwindle { + # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more + pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = yes # you probably want this +} + +master { + # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more + no_gaps_when_only = false + new_is_master = false +} + +gestures { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + workspace_swipe = off +} + +# Example per-device config +# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more +# device:epic-mouse-v1 { +# sensitivity = -0.5 +# } +misc { + disable_hyprland_logo=true + disable_splash_rendering=true + mouse_move_enables_dpms=true + vfr = false +} +# Example windowrule v1 +# windowrule = float, ^(kitty)$ +# Example windowrule v2 +# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ +# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more +#WINDOW RULES +windowrule=float,Rofi +windowrule=float,pavucontrol +windowrulev2 = float,class:^()$,title:^(Picture in picture)$ +windowrulev2 = float,class:^(brave)$,title:^(Save File)$ +windowrulev2 = float,class:^(brave)$,title:^(Open File)$ +windowrulev2 = float,class:^(LibreWolf)$,title:^(Picture-in-Picture)$ +windowrulev2 = float,class:^(blueman-manager)$ +windowrulev2 = float,class:^(org.twosheds.iwgtk)$ +windowrulev2 = float,class:^(blueberry.py)$ +windowrulev2 = float,class:^(xdg-desktop-portal-gtk)$ +windowrulev2 = float,class:^(geeqie)$ +windowrulev2 = float,class:^(org.kde.polkit-kde-authentication-agent-1)$ +windowrulev2 = float,title:^(Steam Settings)$ +windowrulev2 = float,title:^(Console window for.*Prism Launcher) +# Increase the opacity +windowrule=opacity 0.92,Thunar +windowrule=opacity 0.96,discord +windowrule=opacity 0.9,VSCode +windowrule=opacity 0.88,obsidian +# ^.*nvim.*$ +windowrule=tile,librewolf +windowrule=tile,spotify +windowrule=opacity 1,neovim +bindm=SUPER,mouse:272,movewindow +bindm=SUPER,mouse:273,resizewindow + + +windowrulev2 = opacity 0.0 override 0.0 override,class:^(xwaylandvideobridge)$ +windowrulev2 = noanim,class:^(xwaylandvideobridge)$ +windowrulev2 = nofocus,class:^(xwaylandvideobridge)$ +windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$ + +# See https://wiki.hyprland.org/Configuring/Keywords/ for more +$mainMod = ALT + +# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more +bind = $mainMod SHIFT, RETURN, exec, kitty +bind = $mainMod SHIFT, C, killactive, +bind = $mainMod SHIFT, Q, exit, +bind = $mainMod, E, exec, dolphin +bind = $mainMod, F, togglefloating, +bind = $mainMod, P, exec, rofi -show drun +#bind = $mainMod, P, pseudo, # dwindle +#bind = $mainMod, J, togglesplit, # dwindle +bind = $mainMod, RETURN, layoutmsg, swapwithmaster +bind = $mainMod, kp_enter, layoutmsg, swapwithmaster +# Move focus with mainMod + arrow keys +bind = $mainMod, left, movefocus, l +bind = $mainMod, right, movefocus, r +bind = $mainMod, up, movefocus, u +bind = $mainMod, down, movefocus, d +# cliPBOARD HISTRY +bind = SUPER, V, exec, cliphist list | rofi -dmenu | cliphist decode | wl-copy +# lock screen +bind = SUPER, L, exec, swaylock --image /home/meyer/.bg +#SCREENSHOT +bind = , print, exec, grim -g "$(slurp)" - | wl-copy --type=image/png +#emoji picker +bind = SUPER, COMMA, exec, /home/meyer/src/emojipick/emojiget.py | rofi -dmenu -l 5 | grep -o ^. | wl-copy +#resize binds +bind = $mainMod, H, resizeactive, -50 0 +bind = $mainMod , L, resizeactive,50 0 +bind = $mainMod SHIFT, L, resizeactive, 0 -40 +bind = $mainMod SHIFT, H, resizeactive, 0 40 +# Switch workspaces with mainMod + [0-9] +bind = $mainMod, 1, workspace, 1 +bind = $mainMod, 2, workspace, 2 +bind = $mainMod, 3, workspace, 3 +bind = $mainMod, 4, workspace, 4 +bind = $mainMod, 5, workspace, 5 +bind = $mainMod, 6, workspace, 6 +bind = $mainMod, 7, workspace, 7 +bind = $mainMod, 8, workspace, 8 +bind = $mainMod, 9, workspace, 9 +bind = $mainMod, 0, workspace, 10 + +# Move active window to a workspace with mainMod + SHIFT + [0-9] +bind = $mainMod SHIFT, 1, movetoworkspace, 1 +bind = $mainMod SHIFT, 2, movetoworkspace, 2 +bind = $mainMod SHIFT, 3, movetoworkspace, 3 +bind = $mainMod SHIFT, 4, movetoworkspace, 4 +bind = $mainMod SHIFT, 5, movetoworkspace, 5 +bind = $mainMod SHIFT, 6, movetoworkspace, 6 +bind = $mainMod SHIFT, 7, movetoworkspace, 7 +bind = $mainMod SHIFT, 8, movetoworkspace, 8 +bind = $mainMod SHIFT, 9, movetoworkspace, 9 +bind = $mainMod SHIFT, 0, movetoworkspace, 10 + +# Scroll through existing workspaces with mainMod + scroll +bind = $mainMod, mouse_down, workspace, e+1 +bind = $mainMod, mouse_up, workspace, e-1 + +# Move/resize windows with mainMod + LMB/RMB and dragging +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow +# l -> do stuff even when locked +# e -> repeats when key is held +bindle=, XF86AudioRaiseVolume, exec, vol --up +bindle=, XF86AudioLowerVolume, exec, vol --down +# bindl=, XF86AudioMute, exec, amixer set Master toggle +bindl=, XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle +bindl=, XF86AudioPlay, exec, playerctl play-pause # the stupid key is called play , but it toggles +bindl=, XF86AudioNext, exec, playerctl next +bindl=, XF86AudioPrev, exec, playerctl previous diff --git a/dotfiles/.config/hypr/ihate.sh b/dotfiles/.config/hypr/ihate.sh new file mode 100644 index 0000000..8f342d5 --- /dev/null +++ b/dotfiles/.config/hypr/ihate.sh @@ -0,0 +1,7 @@ +#!/bin/bash +sleep 4 +killall -e xdg-desktop-portal-wlr +killall xdg-desktop-portal +/usr/lib/xdg-desktop-portal-wlr & +sleep 4 +/usr/lib/xdg-desktop-portal & diff --git a/dotfiles/.config/hypr/plugins/split-monitor-workspaces.so b/dotfiles/.config/hypr/plugins/split-monitor-workspaces.so new file mode 100755 index 0000000..75e7227 Binary files /dev/null and b/dotfiles/.config/hypr/plugins/split-monitor-workspaces.so differ diff --git a/dotfiles/.config/hypr/wallpapers/night.jpg b/dotfiles/.config/hypr/wallpapers/night.jpg new file mode 100644 index 0000000..8a967c4 Binary files /dev/null and b/dotfiles/.config/hypr/wallpapers/night.jpg differ diff --git a/dotfiles/.config/rofi/colors.rasi b/dotfiles/.config/rofi/colors.rasi new file mode 100644 index 0000000..82ae4e1 --- /dev/null +++ b/dotfiles/.config/rofi/colors.rasi @@ -0,0 +1,10 @@ +/* colors */ + +* { + al: #00000000; + bg: #1a1b26FF; + bga: #414868FF; + fga: #c0caf5FF; + fg: #c0caf5FF; + ac: #343b58FF; +} diff --git a/dotfiles/.config/rofi/config.rasi b/dotfiles/.config/rofi/config.rasi new file mode 100644 index 0000000..3437403 --- /dev/null +++ b/dotfiles/.config/rofi/config.rasi @@ -0,0 +1,118 @@ +configuration { + font: "ComicShannsMonoNerdFont 14"; + show-icons: true; + display-drun: ""; + drun-display-format: "{name}"; + disable-history: false; + fullscreen: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@import "colors.rasi" + +window { + transparency: "real"; + background-color: @bg; + text-color: @fg; + border: 1px 3px 5px 1px; + border-color: @ac; + border-radius: 2px; + width: 600px; + location: center; + x-offset: 0; + y-offset: 0; +} + +prompt { + enabled: true; + padding: 2px 0px 0px 4px; + background-color: @al; + text-color: @fg; + font: "feather 12"; +} + +entry { + background-color: @al; + text-color: @fg; + placeholder-color: @fg; + expand: true; + horizontal-align: 0; + placeholder: "Search..."; + padding: 2px 0px 0px 6px; + blink: true; +} + +inputbar { + children: [ prompt, entry ]; + background-color: @bga; + text-color: @fg; + expand: false; + border: 0px; + border-radius: 50%; + border-color: @ac; + margin: 0px; + padding: 8px; +} + +listview { + background-color: @al; + padding: 0px; + columns: 2; + lines: 5; + spacing: 6px; + cycle: true; + dynamic: true; + layout: vertical; + scrollbar: false; + border-color: @al; +} + +mainbox { + background-color: @al; + border: 0px; + border-radius: 0px; + border-color: @ac; + children: [ inputbar, listview ]; + spacing: 6px; + padding: 6px; +} + +element { + background-color: transparent; + text-color: @fga; + orientation: horizontal; + border-radius: 50%; + padding: 8px; +} +element normal.normal { + background-color: @ac; + text-color: @fga; +} +element alternate.normal{ + background-color: @ac; + text-color: @fga; +} + +element-icon { + size: 24px; + background-color: transparent; + border: 0px; +} + +element-text { + expand: true; + background-color: transparent; + text-color: @fg; + horizontal-align: 0; + vertical-align: 0.5; + margin: 0px 2.5px 0px 2.5px; +} + +element selected { + background-color: @bga; + text-color: @fg; + border: 0px 0px 0px 0px; + border-radius: 50%; + border-color: @ac; +} diff --git a/dotfiles/.gitconfig b/dotfiles/.gitconfig new file mode 100644 index 0000000..ad540c1 --- /dev/null +++ b/dotfiles/.gitconfig @@ -0,0 +1,14 @@ +[user] + signingkey = F1A53BC2CC6565EADD7B644FB2E2F4A5161A7800 + name = sadanslargehole + email = sadan@sadanslargehole.com +[commit] + gpgsign = true +[core] + autocrlf = input +[pull] + rebase = true +[push] + autoSetupRemote = true +[init] + defaultBranch = main