Compare commits
	
		
			173 Commits
		
	
	
		
			nvimlua
			...
			f85841cafe
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| f85841cafe | |||
| 140872d0e6 | |||
| 5b9d495de9 | |||
| 42b373b467 | |||
| 9c5c85fe29 | |||
| 6c6bbb47f3 | |||
| 375d135e83 | |||
| 5e87cb1f94 | |||
| 984fd8cfbd | |||
| 624c9ddd24 | |||
| e4c915c224 | |||
| 06e9c790a9 | |||
| a49ce29958 | |||
| ff7880d04d | |||
| b745e15242 | |||
| c6a5e6ba07 | |||
| af26c6978f | |||
| a6d2ce2f22 | |||
| 0a9e6f9dda | |||
| b069c2060b | |||
| 2d40f69d6f | |||
| 30ba1656b4 | |||
| c96fdf218f | |||
| 6ec22356e7 | |||
| f3e3ee0438 | |||
| 58cea70665 | |||
| ba48178f00 | |||
| 06b30a5c3e | |||
| c6d6cdc0aa | |||
| 383c27850a | |||
| 21e72dfb45 | |||
| 1d5e596ce0 | |||
| bcc2772268 | |||
| 757c0d3585 | |||
| 6780915f38 | |||
| c04543aba9 | |||
| 754ebcf1ae | |||
| a4de744aa7 | |||
| 4f11c1a9b9 | |||
| 74e33d46b2 | |||
| 600b328691 | |||
| d06a4e94cf | |||
| c44cd17970 | |||
| b0570700bb | |||
| 30d3ddfc90 | |||
| 3e0def88dd | |||
| d6c6d4f5d1 | |||
| 787bca3373 | |||
| e57be0cfd2 | |||
| 99a78b8e7d | |||
| 86ee7c8bce | |||
| ad02746fc7 | |||
| 7c75eebe62 | |||
| bd286dfa23 | |||
| 5617265cc6 | |||
| 418f122485 | |||
| 0302e76e1f | |||
| c21c9096c9 | |||
| 6b23fdf858 | |||
| 1fe23703f4 | |||
| 20b9e02adb | |||
| c7333aa79a | |||
| 7cb967447a | |||
| e54b358410 | |||
| 1fbd08f657 | |||
| f796d0775e | |||
| ffb20ec8a4 | |||
| 1734908df0 | |||
| 01d09bc9c0 | |||
| 4324070cac | |||
| ebdb4420b6 | |||
| 171c63a070 | |||
| 46a53b7c38 | |||
| a3d16cbff2 | |||
| 8aefb98d32 | |||
| fb43e9e0ea | |||
| 3617161e87 | |||
| 8850ed0668 | |||
| 62c81143bf | |||
| e60dcb4cda | |||
| 9d9a5c9a54 | |||
| 99a6d39916 | |||
| 57ec4f7e2d | |||
| d853923953 | |||
| bd62855dc9 | |||
| 0117c53cb7 | |||
| 62ba0e08fb | |||
| 2633d677c4 | |||
| b00ba05e2b | |||
| e95e3119fc | |||
| 9e616bc68b | |||
| 6188442dcb | |||
| 143b791d6b | |||
| 242a7a02e6 | |||
| 21060f0ef9 | |||
| 7e85124b10 | |||
| 171ed7447e | |||
| 197eafd34d | |||
| 07de246f77 | |||
| e04c89b57a | |||
| fe0c7e7630 | |||
| 4e6384ac3e | |||
| ecf6b9fb6a | |||
| b2e957ba9c | |||
| 150341e4c2 | |||
| 6f637e746e | |||
| d6214ac324 | |||
| d8519974f5 | |||
| f7056eca23 | |||
| f0af5d5b3f | |||
| f6a7fe0563 | |||
| ea12f5ba70 | |||
| 29a815e43c | |||
| 9da1a5ed65 | |||
| f6cebbacb3 | |||
| 48dc36f660 | |||
| 6a1540bcb0 | |||
| 1bae59ca93 | |||
| c89d6b8c39 | |||
| 3c26a04bb6 | |||
| 4f971c9df9 | |||
| e71eae2345 | |||
| 0f0e24d16c | |||
| ba6bb2bfba | |||
| 769acc8605 | |||
| 16194e4431 | |||
| fed96f0ad1 | |||
| a8f7cbdaea | |||
| fe3ee3aefe | |||
| b143fb61a9 | |||
| 216417e85e | |||
| d1cb75acff | |||
| 3b3a46ddfb | |||
| b89c49cb34 | |||
| 9d85245129 | |||
| f0a1460022 | |||
| cf14508462 | |||
| 44336cfb5b | |||
| 9568a1a3c2 | |||
| 7090ff15bf | |||
| b151282f15 | |||
| a726bf12ac | |||
| 025e863c75 | |||
| 783508bf25 | |||
| 829bf55d82 | |||
| f133c72653 | |||
| f24a4e8a47 | |||
| f26fd07e96 | |||
| 99fa23f6ad | |||
| a17b6e79b1 | |||
| 72b109c14a | |||
| b1cf2bbab6 | |||
| 4f07c62070 | |||
| 99517cf4e4 | |||
| c74ed2a1e3 | |||
| 4491310bba | |||
| b53e69beb8 | |||
| 21cbaeb542 | |||
| c1f449ed3d | |||
| df067d434c | |||
| a42946553a | |||
| 4bb4356727 | |||
| 7e6bfc2f4d | |||
| 243ea5a116 | |||
| 4ce449368e | |||
| c65fffdd9c | |||
| 4e4b45bb24 | |||
| e95bbfd0ad | |||
| ea98f4be74 | |||
| c897b57295 | |||
| e9cf99cf8e | |||
| da6ff29448 | |||
| 9dd08b6d18 | 
							
								
								
									
										17
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										17
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -5,3 +5,20 @@ vifm/.config/vifm/vifm-help.txt | ||||
| vifm/.config/vifm/vifminfo.json | ||||
|  | ||||
| nvim/.config/nvim/autoload | ||||
| nvim/.config/nvim/plugin | ||||
|  | ||||
| vim/.vim/autoload/ | ||||
| vim/.vim/plugged/ | ||||
|  | ||||
| moc/.moc/last_directory | ||||
| moc/.moc/pid | ||||
| moc/.moc/playlist.m3u | ||||
|  | ||||
| newsboat/.newsboat/cache.db | ||||
| newsboat/.newsboat/cache.db.lock | ||||
| newsboat/.newsboat/history.cmdline | ||||
|  | ||||
| mpd/.config/mpd/database | ||||
| mpd/.config/mpd/state | ||||
|  | ||||
| neomutt/.config/vdirsyncer/status/ | ||||
|   | ||||
| @@ -1 +1,7 @@ | ||||
| # My dotfiles | ||||
|  | ||||
| ## Sway | ||||
|  | ||||
| Paquets à installer | ||||
|  | ||||
| sway waybar rofi rofi-pass nm-applet blueman brightnessctl | ||||
|   | ||||
							
								
								
									
										46
									
								
								X/.Xdefaults
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								X/.Xdefaults
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,46 @@ | ||||
| URxvt*font: xft:DroidSansMono Nerd Font Mono:pixelsize=14,xft:UbuntuMono Nerd Font:pixelsize=12 | ||||
| URxvt*letterSpace: -1 | ||||
| URxvt*scrollBar: false | ||||
|  | ||||
| ! Extensions | ||||
| URxvt.perl-ext-common: default,matcher,fullscreen,resize-font | ||||
| ! fullscreen with F11 | ||||
| URxvt.keysym.F11: perl:fullscreen:switch | ||||
|  | ||||
| ! `font-size` plugin | ||||
| URxvt.resize-font.smaller: C-Down | ||||
| URxvt.resize-font.bigger: C-Up | ||||
|  | ||||
| ! Open link with firefox | ||||
| ! URxvt.url-launcher: /usr/bin/xdg-open | ||||
| URxvt.url-launcher: /usr/bin/firefox | ||||
| URxvt.matcher.button: 1 | ||||
|  | ||||
| ! hard contrast: *background: #1d2021 | ||||
| *background: #282828 | ||||
| ! soft contrast: *background: #32302f | ||||
| *foreground: #ebdbb2 | ||||
| ! Black + DarkGrey | ||||
| *color0:  #282828 | ||||
| *color8:  #928374 | ||||
| ! DarkRed + Red | ||||
| *color1:  #cc241d | ||||
| *color9:  #fb4934 | ||||
| ! DarkGreen + Green | ||||
| *color2:  #98971a | ||||
| *color10: #b8bb26 | ||||
| ! DarkYellow + Yellow | ||||
| *color3:  #d79921 | ||||
| *color11: #fabd2f | ||||
| ! DarkBlue + Blue | ||||
| *color4:  #458588 | ||||
| *color12: #83a598 | ||||
| ! DarkMagenta + Magenta | ||||
| *color5:  #b16286 | ||||
| *color13: #d3869b | ||||
| ! DarkCyan + Cyan | ||||
| *color6:  #689d6a | ||||
| *color14: #8ec07c | ||||
| ! LightGrey + White | ||||
| *color7:  #a89984 | ||||
| *color15: #ebdbb2 | ||||
| @@ -45,7 +45,7 @@ font: | ||||
|     style: Bold Italic | ||||
|     | ||||
|   # Point size | ||||
|   size: 11.0 | ||||
|   size: 12.0 | ||||
|  | ||||
|   offset: | ||||
|     x: 0 | ||||
| @@ -82,6 +82,22 @@ selection: | ||||
|  | ||||
| live_config_reload: true | ||||
|  | ||||
| cursor: | ||||
|   # Cursor style | ||||
|   # | ||||
|   # Values for 'style': | ||||
|   #   - ▇ Block | ||||
|   #   - _ Underline | ||||
|   #   - | Beam | ||||
|   style: Block | ||||
|  | ||||
|   # If this is `true`, the cursor will be rendered as a hollow box when the | ||||
|   # window is not focused. | ||||
|   unfocused_hollow: true | ||||
|  | ||||
| mouse_bindings: | ||||
|   - { mouse: Middle, action: PasteSelection } | ||||
|  | ||||
| key_bindings: | ||||
|   - { key: V, mods: Control|Shift, action: Paste } | ||||
|   - { key: C, mods: Control|Shift, action: Copy } | ||||
| @@ -90,4 +106,3 @@ key_bindings: | ||||
|   - { key: NumpadAdd, mods: Control, action: IncreaseFontSize } | ||||
|   - { key: NumpadSubtract, mods: Control, action: DecreaseFontSize } | ||||
|   - { key: Minus, mods: Control, action: DecreaseFontSize } | ||||
|   - { key: N, mods: Control, action: SpawnNewInstance } | ||||
|   | ||||
							
								
								
									
										5
									
								
								git/.gitconfig
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								git/.gitconfig
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | ||||
| [user] | ||||
| 	name = Bertrand Benjamin | ||||
| 	email = benjamin.bertrand@opytex.org | ||||
| [init] | ||||
| 	defaultBranch = main | ||||
| @@ -124,7 +124,7 @@ MusicDir		= "/media/documents/musique/" | ||||
| # Sound driver - OSS, ALSA, JACK, SNDIO (on OpenBSD) or null (only for | ||||
| # debugging).  You can enter more than one driver as a colon-separated | ||||
| # list.  The first working driver will be used. | ||||
| #SoundDriver = JACK:ALSA:OSS | ||||
| SoundDriver = PULSEAUDIO:JACK:ALSA:OSS  | ||||
|  | ||||
| # Jack output settings. | ||||
| #JackClientName = "moc" | ||||
|   | ||||
							
								
								
									
										418
									
								
								mpd/.config/mpd/mdp.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										418
									
								
								mpd/.config/mpd/mdp.conf
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,418 @@ | ||||
| # An example configuration file for MPD. | ||||
| # Read the user manual for documentation: http://www.musicpd.org/doc/user/ | ||||
|  | ||||
|  | ||||
| # Files and directories ####################################################### | ||||
| # | ||||
| # This setting controls the top directory which MPD will search to discover the | ||||
| # available audio files and add them to the daemon's online database. This | ||||
| # setting defaults to the XDG directory, otherwise the music directory will be | ||||
| # be disabled and audio files will only be accepted over ipc socket (using | ||||
| # file:// protocol) or streaming files over an accepted protocol. | ||||
| # | ||||
| music_directory		"~/Musique" | ||||
| # | ||||
| # This setting sets the MPD internal playlist directory. The purpose of this | ||||
| # directory is storage for playlists created by MPD. The server will use | ||||
| # playlist files not created by the server but only if they are in the MPD | ||||
| # format. This setting defaults to playlist saving being disabled. | ||||
| # | ||||
| playlist_directory			"~/.config/mpd/playlists" | ||||
| # | ||||
| # This setting sets the location of the MPD database. This file is used to | ||||
| # load the database at server start up and store the database while the | ||||
| # server is not up. This setting defaults to disabled which will allow | ||||
| # MPD to accept files over ipc socket (using file:// protocol) or streaming | ||||
| # files over an accepted protocol. | ||||
| # | ||||
| db_file			"~/.config/mpd/database" | ||||
|  | ||||
| # These settings are the locations for the daemon log files for the daemon. | ||||
| # | ||||
| # The special value "syslog" makes MPD use the local syslog daemon. This | ||||
| # setting defaults to logging to syslog. | ||||
| # | ||||
| # If you use systemd, do not configure a log_file.  With systemd, MPD | ||||
| # defaults to the systemd journal, which is fine. | ||||
| # | ||||
| log_file			"syslog" | ||||
|  | ||||
| # This setting sets the location of the file which stores the process ID | ||||
| # for use of mpd --kill and some init scripts. This setting is disabled by | ||||
| # default and the pid file will not be stored. | ||||
| # | ||||
| # If you use systemd, do not configure a pid_file. | ||||
| # | ||||
| #pid_file			"~/.mpd/pid" | ||||
|  | ||||
| # This setting sets the location of the file which contains information about | ||||
| # most variables to get MPD back into the same general shape it was in before | ||||
| # it was brought down. This setting is disabled by default and the server | ||||
| # state will be reset on server start up. | ||||
| # | ||||
| state_file			"~/.config/mpd/state" | ||||
| # | ||||
| # The location of the sticker database.  This is a database which | ||||
| # manages dynamic information attached to songs. | ||||
| # | ||||
| #sticker_file			"~/.mpd/sticker.sql" | ||||
| # | ||||
| ############################################################################### | ||||
|  | ||||
|  | ||||
| # General music daemon options ################################################ | ||||
| # | ||||
| # This setting specifies the user that MPD will run as. MPD should never run as | ||||
| # root and you may use this setting to make MPD change its user ID after | ||||
| # initialization. This setting is disabled by default and MPD is run as the | ||||
| # current user. | ||||
| # | ||||
| #user				"nobody" | ||||
| # | ||||
| # This setting specifies the group that MPD will run as. If not specified | ||||
| # primary group of user specified with "user" setting will be used (if set). | ||||
| # This is useful if MPD needs to be a member of group such as "audio" to | ||||
| # have permission to use sound card. | ||||
| # | ||||
| #group				"nogroup" | ||||
| # | ||||
| # This setting sets the address for the daemon to listen on. Careful attention | ||||
| # should be paid if this is assigned to anything other than the default, any. | ||||
| # This setting can deny access to control of the daemon. Not effective if | ||||
| # systemd socket activation is in use. | ||||
| # | ||||
| # For network | ||||
| #bind_to_address		"any" | ||||
| # | ||||
| # And for Unix Socket | ||||
| #bind_to_address		"~/.mpd/socket" | ||||
| # | ||||
| # This setting is the TCP port that is desired for the daemon to get assigned | ||||
| # to. | ||||
| # | ||||
| #port				"6600" | ||||
| # | ||||
| # Suppress all messages below the given threshold.  Use "verbose" for | ||||
| # troubleshooting. Available setting arguments are "notice", "info", "verbose", | ||||
| # "warning" and "error". | ||||
| # | ||||
| #log_level			"notice" | ||||
| # | ||||
| # Setting "restore_paused" to "yes" puts MPD into pause mode instead | ||||
| # of starting playback after startup. | ||||
| # | ||||
| #restore_paused "no" | ||||
| # | ||||
| # This setting enables MPD to create playlists in a format usable by other | ||||
| # music players. | ||||
| # | ||||
| #save_absolute_paths_in_playlists	"no" | ||||
| # | ||||
| # This setting defines a list of tag types that will be extracted during the | ||||
| # audio file discovery process. The complete list of possible values can be | ||||
| # found in the user manual. | ||||
| #metadata_to_use	"artist,album,title,track,name,genre,date,composer,performer,disc" | ||||
| # | ||||
| # This example just enables the "comment" tag without disabling all | ||||
| # the other supported tags: | ||||
| #metadata_to_use "+comment" | ||||
| # | ||||
| # This setting enables automatic update of MPD's database when files in | ||||
| # music_directory are changed. | ||||
| # | ||||
| auto_update	"yes" | ||||
| # | ||||
| # Limit the depth of the directories being watched, 0 means only watch | ||||
| # the music directory itself.  There is no limit by default. | ||||
| # | ||||
| #auto_update_depth "3" | ||||
| # | ||||
| ############################################################################### | ||||
|  | ||||
|  | ||||
| # Symbolic link behavior ###################################################### | ||||
| # | ||||
| # If this setting is set to "yes", MPD will discover audio files by following | ||||
| # symbolic links outside of the configured music_directory. | ||||
| # | ||||
| #follow_outside_symlinks	"yes" | ||||
| # | ||||
| # If this setting is set to "yes", MPD will discover audio files by following | ||||
| # symbolic links inside of the configured music_directory. | ||||
| # | ||||
| #follow_inside_symlinks		"yes" | ||||
| # | ||||
| ############################################################################### | ||||
|  | ||||
|  | ||||
| # Zeroconf / Avahi Service Discovery ########################################## | ||||
| # | ||||
| # If this setting is set to "yes", service information will be published with | ||||
| # Zeroconf / Avahi. | ||||
| # | ||||
| #zeroconf_enabled		"yes" | ||||
| # | ||||
| # The argument to this setting will be the Zeroconf / Avahi unique name for | ||||
| # this MPD server on the network. %h will be replaced with the hostname. | ||||
| # | ||||
| #zeroconf_name			"Music Player @ %h" | ||||
| # | ||||
| ############################################################################### | ||||
|  | ||||
|  | ||||
| # Permissions ################################################################# | ||||
| # | ||||
| # If this setting is set, MPD will require password authorization. The password | ||||
| # setting can be specified multiple times for different password profiles. | ||||
| # | ||||
| #password                        "password@read,add,control,admin" | ||||
| # | ||||
| # This setting specifies the permissions a user has who has not yet logged in. | ||||
| # | ||||
| #default_permissions             "read,add,control,admin" | ||||
| # | ||||
| ############################################################################### | ||||
|  | ||||
|  | ||||
| # Database ####################################################################### | ||||
| # | ||||
| # An example of a database section instead of the old 'db_file' setting. | ||||
| # It enables mounting other storages into the music directory. | ||||
| # | ||||
| #database { | ||||
| #       plugin "simple" | ||||
| #       path "~/.local/share/mpd/db | ||||
| #       cache_directory "~/.local/share/mpd/cache" | ||||
| #} | ||||
| # | ||||
| # An example of database config for a satellite setup | ||||
| # | ||||
| #music_directory "nfs://fileserver.local/srv/mp3" | ||||
| #database { | ||||
| #       plugin "proxy" | ||||
| #       host "other.mpd.host" | ||||
| #       port "6600" | ||||
| #} | ||||
|  | ||||
| # Input ####################################################################### | ||||
| # | ||||
| input { | ||||
|         plugin "curl" | ||||
| #       proxy "proxy.isp.com:8080" | ||||
| #       proxy_user "user" | ||||
| #       proxy_password "password" | ||||
| } | ||||
|  | ||||
| # | ||||
| ############################################################################### | ||||
|  | ||||
| # Audio Output ################################################################ | ||||
| # | ||||
| # MPD supports various audio output types, as well as playing through multiple | ||||
| # audio outputs at the same time, through multiple audio_output settings | ||||
| # blocks. Setting this block is optional, though the server will only attempt | ||||
| # autodetection for one sound card. | ||||
| # | ||||
| # An example of an ALSA output: | ||||
| # | ||||
| #audio_output { | ||||
| #	type		"alsa" | ||||
| #	name		"My ALSA Device" | ||||
| ##	device		"hw:0,0"	# optional | ||||
| ##	mixer_type      "hardware"	# optional | ||||
| ##	mixer_device	"default"	# optional | ||||
| ##	mixer_control	"PCM"		# optional | ||||
| ##	mixer_index	"0"		# optional | ||||
| #} | ||||
| # | ||||
| # An example of an OSS output: | ||||
| # | ||||
| #audio_output { | ||||
| #	type		"oss" | ||||
| #	name		"My OSS Device" | ||||
| ##	device		"/dev/dsp"	# optional | ||||
| ##	mixer_type      "hardware"	# optional | ||||
| ##	mixer_device	"/dev/mixer"	# optional | ||||
| ##	mixer_control	"PCM"		# optional | ||||
| #} | ||||
| # | ||||
| # An example of a shout output (for streaming to Icecast): | ||||
| # | ||||
| #audio_output { | ||||
| #	type		"shout" | ||||
| #	encoder		"vorbis"		# optional | ||||
| #	name		"My Shout Stream" | ||||
| #	host		"localhost" | ||||
| #	port		"8000" | ||||
| #	mount		"/mpd.ogg" | ||||
| #	password	"hackme" | ||||
| #	quality		"5.0" | ||||
| #	bitrate		"128" | ||||
| #	format		"44100:16:1" | ||||
| ##	protocol	"icecast2"		# optional | ||||
| ##	user		"source"		# optional | ||||
| ##	description	"My Stream Description"	# optional | ||||
| ##	url		"http://example.com"	# optional | ||||
| ##	genre		"jazz"			# optional | ||||
| ##	public		"no"			# optional | ||||
| ##	timeout		"2"			# optional | ||||
| ##	mixer_type      "software"		# optional | ||||
| #} | ||||
| # | ||||
| # An example of a recorder output: | ||||
| # | ||||
| #audio_output { | ||||
| #	type		"recorder" | ||||
| #	name		"My recorder" | ||||
| #	encoder		"vorbis"		# optional, vorbis or lame | ||||
| #	path		"/var/lib/mpd/recorder/mpd.ogg" | ||||
| ##	quality		"5.0"			# do not define if bitrate is defined | ||||
| #	bitrate		"128"			# do not define if quality is defined | ||||
| #	format		"44100:16:1" | ||||
| #} | ||||
| # | ||||
| # An example of a httpd output (built-in HTTP streaming server): | ||||
| # | ||||
| #audio_output { | ||||
| #	type		"httpd" | ||||
| #	name		"My HTTP Stream" | ||||
| #	encoder		"vorbis"		# optional, vorbis or lame | ||||
| #	port		"8000" | ||||
| #	bind_to_address	"0.0.0.0"		# optional, IPv4 or IPv6 | ||||
| ##	quality		"5.0"			# do not define if bitrate is defined | ||||
| #	bitrate		"128"			# do not define if quality is defined | ||||
| #	format		"44100:16:1" | ||||
| #	max_clients	"0"			# optional 0=no limit | ||||
| #} | ||||
| # | ||||
| # An example of a pulseaudio output (streaming to a remote pulseaudio server) | ||||
| # | ||||
| #audio_output { | ||||
| #	type		"pulse" | ||||
| #	name		"My Pulse Output" | ||||
| ##	server		"remote_server"		# optional | ||||
| ##	sink		"remote_server_sink"	# optional | ||||
| ##	media_role	"media_role"		#optional | ||||
| #} | ||||
| # | ||||
| # An example of a winmm output (Windows multimedia API). | ||||
| # | ||||
| #audio_output { | ||||
| #	type		"winmm" | ||||
| #	name		"My WinMM output" | ||||
| ##	device		"Digital Audio (S/PDIF) (High Definition Audio Device)" # optional | ||||
| #		or | ||||
| ##	device		"0"		# optional | ||||
| ##	mixer_type	"hardware"	# optional | ||||
| #} | ||||
| # | ||||
| # An example of a wasapi output (Windows multimedia API). | ||||
| # | ||||
| #audio_output { | ||||
| #	type		"wasapi" | ||||
| #	name		"My WASAPI output" | ||||
| ##	device		"Digital Audio (S/PDIF) (High Definition Audio Device)" # optional | ||||
| #		or | ||||
| ##	device		"0"		# optional | ||||
| ## Exclusive mode blocks all other audio source, and get best audio quality without resampling. | ||||
| ##	exclusive	"no"		# optional | ||||
| ## Enumerate all devices in log. | ||||
| ##	enumerate	"no"		# optional | ||||
| #} | ||||
| # | ||||
| # An example of an openal output. | ||||
| # | ||||
| #audio_output { | ||||
| #	type		"openal" | ||||
| #	name		"My OpenAL output" | ||||
| ##	device		"Digital Audio (S/PDIF) (High Definition Audio Device)" # optional | ||||
| #} | ||||
| # | ||||
| # An example of an sndio output. | ||||
| # | ||||
| #audio_output { | ||||
| #	type		"sndio" | ||||
| #	name		"sndio output" | ||||
| #	mixer_type	"hardware" | ||||
| #} | ||||
| # | ||||
| # An example of an OS X output: | ||||
| # | ||||
| #audio_output { | ||||
| #	type		"osx" | ||||
| #	name		"My OS X Device" | ||||
| ##	device		"Built-in Output"	# optional | ||||
| ##	channel_map      "-1,-1,0,1"	# optional | ||||
| #} | ||||
| # | ||||
| ## Example "pipe" output: | ||||
| # | ||||
| #audio_output { | ||||
| #	type		"pipe" | ||||
| #	name		"my pipe" | ||||
| #	command		"aplay -f cd 2>/dev/null" | ||||
| ## Or if you're want to use AudioCompress | ||||
| #	command		"AudioCompress -m | aplay -f cd 2>/dev/null" | ||||
| ## Or to send raw PCM stream through PCM: | ||||
| #	command		"nc example.org 8765" | ||||
| #	format		"44100:16:2" | ||||
| #} | ||||
| # | ||||
| ## An example of a null output (for no audio output): | ||||
| # | ||||
| #audio_output { | ||||
| #	type		"null" | ||||
| #	name		"My Null Output" | ||||
| #	mixer_type      "none"			# optional | ||||
| #} | ||||
| # | ||||
| ############################################################################### | ||||
|  | ||||
|  | ||||
| # Normalization automatic volume adjustments ################################## | ||||
| # | ||||
| # This setting specifies the type of ReplayGain to use. This setting can have | ||||
| # the argument "off", "album", "track" or "auto". "auto" is a special mode that | ||||
| # chooses between "track" and "album" depending on the current state of | ||||
| # random playback. If random playback is enabled then "track" mode is used. | ||||
| # See <https://wiki.hydrogenaud.io/index.php?title=Replaygain> for | ||||
| # more details about ReplayGain. | ||||
| # This setting is off by default. | ||||
| # | ||||
| #replaygain			"album" | ||||
| # | ||||
| # This setting sets the pre-amp used for files that have ReplayGain tags. By | ||||
| # default this setting is disabled. | ||||
| # | ||||
| #replaygain_preamp		"0" | ||||
| # | ||||
| # This setting sets the pre-amp used for files that do NOT have ReplayGain tags. | ||||
| # By default this setting is disabled. | ||||
| # | ||||
| #replaygain_missing_preamp	"0" | ||||
| # | ||||
| # This setting enables or disables ReplayGain limiting. | ||||
| # MPD calculates actual amplification based on the ReplayGain tags | ||||
| # and replaygain_preamp / replaygain_missing_preamp setting. | ||||
| # If replaygain_limit is enabled MPD will never amplify audio signal | ||||
| # above its original level. If replaygain_limit is disabled such amplification | ||||
| # might occur. By default this setting is enabled. | ||||
| # | ||||
| #replaygain_limit		"yes" | ||||
| # | ||||
| # This setting enables on-the-fly normalization volume adjustment. This will | ||||
| # result in the volume of all playing audio to be adjusted so the output has | ||||
| # equal "loudness". This setting is disabled by default. | ||||
| # | ||||
| #volume_normalization		"no" | ||||
| # | ||||
| ############################################################################### | ||||
|  | ||||
| # Character Encoding ########################################################## | ||||
| # | ||||
| # If file or directory names do not display correctly for your locale then you | ||||
| # may need to modify this setting. | ||||
| # | ||||
| #filesystem_charset		"UTF-8" | ||||
| # | ||||
| ############################################################################### | ||||
							
								
								
									
										10
									
								
								mpd/.config/ncmpcpp/bindings
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								mpd/.config/ncmpcpp/bindings
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| def_key "j" | ||||
|     scroll_down | ||||
| def_key "k" | ||||
|     scroll_up | ||||
|  | ||||
| def_key "g" | ||||
|   move_home | ||||
|  | ||||
| def_key "G" | ||||
|   move_end | ||||
							
								
								
									
										1
									
								
								mpd/.config/ncmpcpp/config
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								mpd/.config/ncmpcpp/config
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| execute_on_song_change = notify-send "Now Playing" "$(mpc --format '%title% \n%artist% - %album%' current)" | ||||
							
								
								
									
										51
									
								
								neomutt/.config/khard/khard.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								neomutt/.config/khard/khard.conf
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,51 @@ | ||||
| # example configuration file for khard version > 0.14.0 | ||||
| # place it under ~/.config/khard/khard.conf | ||||
| # This file is parsed by the configobj library.  The syntax is described at | ||||
| # https://configobj.readthedocs.io/en/latest/configobj.html#the-config-file-format | ||||
|  | ||||
| [addressbooks] | ||||
| [[contacts]] | ||||
| path = ~/.contacts/contacts/ | ||||
|  | ||||
| [general] | ||||
| debug = no | ||||
| default_action = list | ||||
| # These are either strings or comma seperated lists | ||||
| editor = nvim, -i, NONE | ||||
| merge_editor = vimdiff | ||||
|  | ||||
| [contact table] | ||||
| # display names by first or last name: first_name / last_name / formatted_name | ||||
| display = first_name | ||||
| # group by address book: yes / no | ||||
| group_by_addressbook = no | ||||
| # reverse table ordering: yes / no | ||||
| reverse = no | ||||
| # append nicknames to name column: yes / no | ||||
| show_nicknames = no | ||||
| # show uid table column: yes / no | ||||
| show_uids = yes | ||||
| # sort by first or last name: first_name / last_name / formatted_name | ||||
| sort = last_name | ||||
| # localize dates: yes / no | ||||
| localize_dates = yes | ||||
| # set a comma separated list of preferred phone number types in descending priority | ||||
| # or nothing for non-filtered alphabetical order | ||||
| preferred_phone_number_type = pref, cell, home | ||||
| # set a comma separated list of preferred email address types in descending priority | ||||
| # or nothing for non-filtered alphabetical order | ||||
| preferred_email_address_type = pref, work, home | ||||
|  | ||||
| [vcard] | ||||
| # extend contacts with your own private objects | ||||
| # these objects are stored with a leading "X-" before the object name in the vcard files | ||||
| # every object label may only contain letters, digits and the - character | ||||
| # example: | ||||
| #   private_objects = Jabber, Skype, Twitter | ||||
| # default: ,  (the empty list) | ||||
| # preferred vcard version: 3.0 / 4.0 | ||||
| preferred_version = 4.0 | ||||
| # Look into source vcf files to speed up search queries: yes / no | ||||
| search_in_source_files = no | ||||
| # skip unparsable vcard files: yes / no | ||||
| skip_unparsable = no | ||||
							
								
								
									
										50
									
								
								neomutt/.config/msmtp/config
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								neomutt/.config/msmtp/config
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,50 @@ | ||||
| # Example for a user configuration file ~/.msmtprc | ||||
|  | ||||
| # With modern mail services that publish autoconfiguration information, | ||||
| # you can simply run 'msmtp --configure yourmail@example.com' to get | ||||
| # a basic working configuration. | ||||
|  | ||||
| # This example focusses on TLS and authentication. Features not used here | ||||
| # include logging, timeouts, SOCKS proxies, TLS parameters, Delivery Status | ||||
| # Notification (DSN) settings, and more. | ||||
|  | ||||
| # Set default values: use the mail submission port 587, and always use TLS. | ||||
| # On this port, TLS is activated via STARTTLS. | ||||
| defaults | ||||
| port           587 | ||||
| tls            on | ||||
| tls_starttls   on | ||||
| auth           on | ||||
| tls_trust_file /etc/ssl/certs/ca-certificates.crt | ||||
| logfile        ~/.msmtp.log | ||||
|  | ||||
| account bb_opytex | ||||
|     user Takanuva | ||||
|     passwordeval "pass mail/mailfence/Takanuva | head -n1" | ||||
|     auth on | ||||
|     host smtp.mailfence.com | ||||
|     port 465 | ||||
|     # Envelope-from address | ||||
|     from benjamin.bertrand@opytex.org | ||||
|     tls_starttls off | ||||
|  | ||||
| account jb_opytex | ||||
|     user margot_benjamin | ||||
|     passwordeval "pass mail/jost_bertrand@opytex.org/margot_benjamin | head -n1" | ||||
|     auth on | ||||
|     host smtp.mailfence.com | ||||
|     port 465 | ||||
|     # Envelope-from address | ||||
|     from jost_bertrand@opytex.org | ||||
|     tls_starttls off | ||||
|  | ||||
| account ac-lyon | ||||
|     user bbertrand | ||||
|     passwordeval "pass Prof/pronote/bbertrand | head -n1" | ||||
|     auth on | ||||
|     host smtps.ac-lyon.fr | ||||
|     # Envelope-from address | ||||
|     from benjamin.bertrand@ac-lyon.fr | ||||
|  | ||||
| # Set a default account | ||||
| account default : bb_opytex | ||||
							
								
								
									
										43
									
								
								neomutt/.config/neomutt/accounts/ac-lyon
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								neomutt/.config/neomutt/accounts/ac-lyon
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,43 @@ | ||||
| # vim: filetype=muttrc | ||||
| unmailboxes * | ||||
|  | ||||
| set from = "benjamin.bertrand@ac-lyon.fr" | ||||
|  | ||||
| set sendmail = "/usr/bin/msmtp -a ac-lyon" | ||||
| set folder = "~/.mail/ac_lyon" | ||||
|  | ||||
| set spoolfile = "+INBOX" | ||||
| set postponed = "+Drafts" | ||||
| set record = "+Sent" | ||||
| set trash = "+Trash" | ||||
|  | ||||
| set mbox_type = Maildir | ||||
| set ssl_starttls = yes | ||||
| set ssl_force_tls = yes | ||||
|  | ||||
| color status blue default | ||||
|  | ||||
| #mailboxes =INBOX =Sent =Drafts =Junk | ||||
|  | ||||
|  | ||||
| # set my_pass = "`pass Prof/pronote/bbertrand`" | ||||
| # set folder = "imaps://mail.ac-lyon.fr" | ||||
| # set imap_user = bbertrand | ||||
| # set imap_pass = $my_pass | ||||
| #  | ||||
| # set ssl_force_tls = yes | ||||
| # set smtp_url = smtps://$imap_user@smtps.ac-lyon.fr:587 | ||||
| # set smtp_pass = $my_pass | ||||
| # set ssl_starttls = yes | ||||
| # set smtp_authenticators = "login" | ||||
| #  | ||||
| # set spoolfile = +INBOX | ||||
| # mailboxes = +INBOX | ||||
| # set imap_check_subscribed | ||||
| #  | ||||
| # set record = "+Sent" | ||||
| # set trash = "+Trash" | ||||
| # set postponed = "+Drafts" | ||||
| #  | ||||
| # ## Hook -- IMPORTANT! | ||||
| # account-hook $folder "set imap_pass=`pass Prof/pronote/bbertrand`" | ||||
							
								
								
									
										43
									
								
								neomutt/.config/neomutt/accounts/bb_opytex
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								neomutt/.config/neomutt/accounts/bb_opytex
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,43 @@ | ||||
| # vim: filetype=muttrc | ||||
| unmailboxes * | ||||
|  | ||||
| set from = "benjamin.bertrand@opytex.org" | ||||
|  | ||||
| set sendmail = "/usr/bin/msmtp -a bb_opytex" | ||||
| set folder = "~/.mail/bb_opytex" | ||||
|  | ||||
| set spoolfile = "+INBOX" | ||||
| set postponed = "+Drafts" | ||||
| set record = "+Sent" | ||||
| set trash = "+Junk" | ||||
|  | ||||
|  | ||||
| set mbox_type = Maildir | ||||
| set ssl_starttls = yes | ||||
| set ssl_force_tls = yes | ||||
|  | ||||
| color status cyan default | ||||
|  | ||||
| # mailboxes =INBOX =Sent =Drafts =Junk | ||||
|  | ||||
| # set my_pass = "`pass mail/mailfence/Takanuva`" | ||||
| # set folder = "imaps://imap.mailfence.com/" | ||||
| # set imap_user = Takanuva | ||||
| # set imap_pass = $my_pass | ||||
| #  | ||||
| # set ssl_force_tls = yes | ||||
| # set smtp_url = smtps://$imap_user@smtp.mailfence.com:465 | ||||
| # set smtp_pass = $my_pass | ||||
| # set ssl_starttls = yes | ||||
| # set smtp_authenticators = "login" | ||||
| #  | ||||
| #  | ||||
| # set spoolfile = +INBOX | ||||
| #  | ||||
| # set record = "+Sent" | ||||
| # set trash = "+Trash" | ||||
| # set postponed = "+Drafts" | ||||
| #  | ||||
| #  | ||||
| # ## Hook -- IMPORTANT! | ||||
| # account-hook $folder "set imap_pass=`pass mail/mailfence/Takanuva`" | ||||
							
								
								
									
										44
									
								
								neomutt/.config/neomutt/accounts/jb_opytex
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								neomutt/.config/neomutt/accounts/jb_opytex
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,44 @@ | ||||
| # vim: filetype=muttrc | ||||
| unmailboxes * | ||||
| set imap_list_subscribed | ||||
| set imap_check_subscribed | ||||
|  | ||||
| set from = "jost_bertrand@opytex.org" | ||||
|  | ||||
| set sendmail = "/usr/bin/msmtp -a jb_opytex" | ||||
| set folder = "~/.mail/jb_opytex" | ||||
|  | ||||
| set spoolfile = "+INBOX" | ||||
| set postponed = "+Drafts" | ||||
| set record = "+Sent" | ||||
| set trash = "+Junk" | ||||
|  | ||||
| set mbox_type = Maildir | ||||
| set ssl_starttls = yes | ||||
| set ssl_force_tls = yes | ||||
|  | ||||
|  | ||||
| color status red default | ||||
|  | ||||
| # set my_pass = "`pass mail/mailfence/Takanuva`" | ||||
| # set folder = "imaps://imap.mailfence.com/" | ||||
| # set imap_user = Takanuva | ||||
| # set imap_pass = $my_pass | ||||
| #  | ||||
| # set ssl_force_tls = yes | ||||
| # set smtp_url = smtps://$imap_user@smtp.mailfence.com:465 | ||||
| # set smtp_pass = $my_pass | ||||
| # set ssl_starttls = yes | ||||
| # set smtp_authenticators = "login" | ||||
| #  | ||||
| #  | ||||
| # set spoolfile = +INBOX | ||||
| # set imap_check_subscribed | ||||
| #  | ||||
| # set record = "+Sent" | ||||
| # set trash = "+Trash" | ||||
| # set postponed = "+Drafts" | ||||
| #  | ||||
| #  | ||||
| # ## Hook -- IMPORTANT! | ||||
| # account-hook $folder "set imap_pass=`pass mail/mailfence/Takanuva`" | ||||
							
								
								
									
										100
									
								
								neomutt/.config/neomutt/colors
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										100
									
								
								neomutt/.config/neomutt/colors
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,100 @@ | ||||
| # -*-muttrc-*- | ||||
|  | ||||
| # Screenshot http://trovao.droplinegnome.org/stuff/mutt-zenburnt.png | ||||
| # | ||||
| # This is a zenburn-based neomutt color scheme that is not (even by far) | ||||
| # complete. There's no copyright involved. Do whatever you want with it. | ||||
| # Just be aware that I won't be held responsible if the current color-scheme | ||||
| # explodes your mail client. ;) | ||||
| # | ||||
| # Do notice that this color scheme requires a terminal emulator that supports | ||||
| # 256 color. Any modern X terminal emulator should have support for that and | ||||
| # you can enable it by calling neomutt as "TERM=xterm-256color neomutt" or, if you | ||||
| # use screen, by adding "term screen-256color" to your .screenrc. | ||||
| # | ||||
| # This file is in the public domain. | ||||
| # | ||||
|  | ||||
| # general-doesn't-fit stuff | ||||
| color normal     color188 color237 | ||||
| color error      color115 color236 | ||||
| color markers    color142 color238 | ||||
| color tilde      color108 color237 | ||||
| color status     color144 color234 | ||||
|  | ||||
| # index stuff | ||||
| color indicator  color108 color236 | ||||
| color tree       color109 color237 | ||||
| color index      color188 color237 ~A | ||||
| color index      color188 color237 ~N | ||||
| color index      color188 color237 ~O | ||||
| color index      color174 color237 ~F | ||||
| color index      color174 color237 ~D | ||||
|  | ||||
| # Message Index ---------------------------------------------------------------- | ||||
|  | ||||
| ## Weak | ||||
| color index  color08  color00  "~R"        # read messages | ||||
| color index  color08  color00  "~d >45d"   # older than 45 days | ||||
| color index  color08  color00  "~v~(!~N)"  # collapsed thread with no unread | ||||
| color index  color08  color00  "~Q"        # messages that have been replied to | ||||
|  | ||||
| ## Strong | ||||
| color index  color21  color00  "(~U|~N|~O)"     # unread, new, old messages | ||||
| color index  color21  color00  "~v~(~U|~N|~O)"  # collapsed thread with unread | ||||
|  | ||||
| ## Highlight | ||||
| ### Trusted | ||||
| color index  color06  color00  "~g"  # PGP signed messages | ||||
| color index  color06  color00  "~G"  # PGP encrypted messages | ||||
| ### Odd | ||||
| color index  color01  color00  "~E"  # past Expires: header date | ||||
| color index  color01  color00  "~="  # duplicated | ||||
| color index  color01  color00  "~S"  # marked by Supersedes: header | ||||
| ### Flagged | ||||
| color index  color05  color00  "~F"       # flagged messages | ||||
| color index  color02  color00  "~v~(~F)"  # collapsed thread with flagged inside | ||||
|  | ||||
| # Selection | ||||
| color index  color02  color18   "~T"  # tagged messages | ||||
| color index  color01  color18   "~D"  # deleted messages | ||||
|  | ||||
| #  | ||||
|  | ||||
| # header stuff | ||||
| color hdrdefault color223 color237 | ||||
| color header     color223 color237 "^Subject" | ||||
|  | ||||
| # gpg stuff | ||||
| color body       color188 color237 "^gpg: Good signature.*" | ||||
| color body       color115 color236 "^gpg: BAD signature.*" | ||||
| color body       color174 color237 "^gpg: Can't check signature.*" | ||||
| color body       color174 color237 "^-----BEGIN PGP SIGNED MESSAGE-----" | ||||
| color body       color174 color237 "^-----BEGIN PGP SIGNATURE-----" | ||||
| color body       color174 color237 "^-----END PGP SIGNED MESSAGE-----" | ||||
| color body       color174 color237 "^-----END PGP SIGNATURE-----" | ||||
| color body       color174 color237 "^Version: GnuPG.*" | ||||
| color body       color174 color237 "^Comment: .*" | ||||
|  | ||||
| # url, email and web stuff | ||||
| color body       color174 color237 "(finger|ftp|http|https|news|telnet)://[^ >]*" | ||||
| color body       color174 color237 "<URL:[^ ]*>" | ||||
| color body       color174 color237 "www\\.[-.a-z0-9]+\\.[a-z][a-z][a-z]?([-_./~a-z0-9]+)?" | ||||
| color body       color174 color237 "mailto: *[^ ]+\(\\i?subject=[^ ]+\)?" | ||||
| color body       color174 color237 "[-a-z_0-9.%$]+@[-a-z_0-9.]+\\.[-a-z][-a-z]+" | ||||
|  | ||||
| # misc body stuff | ||||
| color attachment color174 color237 #Add-ons to the message | ||||
| color signature  color223 color237 | ||||
|  | ||||
| # quote levels | ||||
| color quoted     color108 color237 | ||||
| color quoted1    color116 color237 | ||||
| color quoted2    color247 color237 | ||||
| color quoted3    color108 color237 | ||||
| color quoted4    color116 color237 | ||||
| color quoted5    color247 color237 | ||||
| color quoted6    color108 color237 | ||||
| color quoted7    color116 color237 | ||||
| color quoted8    color247 color237 | ||||
| color quoted9    color108 color237 | ||||
							
								
								
									
										121
									
								
								neomutt/.config/neomutt/colors_gruvbox
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										121
									
								
								neomutt/.config/neomutt/colors_gruvbox
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,121 @@ | ||||
| # -*-muttrc-*- | ||||
| # gruvbox dark (contrast dark): | ||||
|  | ||||
| # bg0    = 234 | ||||
| # bg1    = 237 | ||||
| # bg2    = 239 | ||||
| # bg3    = 241 | ||||
| # bg4    = 243 | ||||
| #  | ||||
| # gray   = 245 | ||||
| #  | ||||
| # fg0    = 229 | ||||
| # fg1    = 223 | ||||
| # fg2    = 250 | ||||
| # fg3    = 248 | ||||
| # fg4    = 246 | ||||
| #  | ||||
| # red    = 167 | ||||
| # green  = 142 | ||||
| # yellow = 214 | ||||
| # blue   = 109 | ||||
| # purple = 175 | ||||
| # aqua   = 108 | ||||
| # orange = 208 | ||||
|  | ||||
|  | ||||
| # See http://www.mutt.org/doc/manual/#color | ||||
|  | ||||
| color attachment  color109 color234 | ||||
| color bold        color229 color234 | ||||
| color error       color167 color234 | ||||
| color hdrdefault  color246 color234 | ||||
| color indicator   color223 color237 | ||||
| color markers     color243 color234 | ||||
| color normal      color223 color234 | ||||
| color quoted      color250 color234 | ||||
| color quoted1     color108 color234 | ||||
| color quoted2     color250 color234 | ||||
| color quoted3     color108 color234 | ||||
| color quoted4     color250 color234 | ||||
| color quoted5     color108 color234 | ||||
| color search      color234 color208 | ||||
| color signature   color108 color234 | ||||
| color status      color234 color250 | ||||
| color tilde       color243 color234 | ||||
| color tree        color142 color234 | ||||
| color underline   color223 color239 | ||||
|  | ||||
| color sidebar_divider    color250 color234 | ||||
| color sidebar_new        color142 color234 | ||||
|  | ||||
| color index color142 color234 ~N | ||||
| color index color108 color234 ~O | ||||
| color index color109 color234 ~P | ||||
| color index color214 color234 ~F | ||||
| color index color175 color234 ~Q | ||||
| color index color167 color234 ~= | ||||
| color index color234 color223 ~T | ||||
| color index color234 color167 ~D | ||||
|  | ||||
| color header color214 color234 "^(To:|From:)" | ||||
| color header color142 color234 "^Subject:" | ||||
| color header color108 color234 "^X-Spam-Status:" | ||||
| color header color108 color234 "^Received:" | ||||
|  | ||||
| # Regex magic for URLs and hostnames | ||||
| # | ||||
| # Attention: BSD's regex has RE_DUP_MAX set to 255. | ||||
| # | ||||
| # Examples: | ||||
| #   http://some-service.example.com | ||||
| #   example.com | ||||
| #   a.example.com | ||||
| #   some-service.example.com | ||||
| #   example.com/ | ||||
| #   example.com/datenschutz | ||||
| #   file:///tmp/foo | ||||
| # | ||||
| # Non-examples: | ||||
| #   1.1.1900 | ||||
| #   14.02.2022/24:00 | ||||
| #   23.59 | ||||
| #   w.l.o.g | ||||
| #   team.its | ||||
| color body color142 color234 "[a-z]{3,255}://[[:graph:]]*" | ||||
| color body color142 color234 "([-[:alnum:]]+\\.)+([0-9]{1,3}|[-[:alpha:]]+)/[[:graph:]]*" | ||||
| color body color142 color234 "([-[:alnum:]]+\\.){2,255}[-[:alpha:]]{2,10}" | ||||
|  | ||||
| # IPv4 and IPv6 stolen from https://stackoverflow.com/questions/53497/regular-expression-that-matches-valid-ipv6-addresses | ||||
| color body color142 color234 "((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])" | ||||
| color body color142 color234 "(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))" | ||||
|  | ||||
| # Mail addresses and mailto URLs | ||||
| color body color208 color234 "[-a-z_0-9.%$]+@[-a-z_0-9.]+\\.[-a-z][-a-z]+" | ||||
| color body color208 color234 "mailto:[-a-z_0-9.]+@[-a-z_0-9.]+" | ||||
|  | ||||
| # some simleys and stuff | ||||
| color body color234 color214 "[;:]-*[)>(<lt;|]" | ||||
| color body color229 color234 "\\*[- A-Za-z]+\\*" | ||||
|  | ||||
| color body color214 color234 "^-.*PGP.*-*" | ||||
| color body color142 color234 "^gpg: Good signature from" | ||||
| color body color167 color234 "^gpg: Can't.*$" | ||||
| color body color214 color234 "^gpg: WARNING:.*$" | ||||
| color body color167 color234 "^gpg: BAD signature from" | ||||
| color body color167 color234 "^gpg: Note: This key has expired!" | ||||
| color body color214 color234 "^gpg: There is no indication that the signature belongs to the owner." | ||||
| color body color214 color234 "^gpg: can't handle these multiple signatures" | ||||
| color body color214 color234 "^gpg: signature verification suppressed" | ||||
| color body color214 color234 "^gpg: invalid node with packet of type" | ||||
|  | ||||
| color body color142 color234 "^Good signature from:" | ||||
| color body color167 color234 "^.?BAD.? signature from:" | ||||
| color body color142 color234 "^Verification successful" | ||||
| color body color167 color234 "^Verification [^s][^[:space:]]*$" | ||||
|  | ||||
| color compose header            color223 color234 | ||||
| color compose security_encrypt  color175 color234 | ||||
| color compose security_sign     color109 color234 | ||||
| color compose security_both     color142 color234 | ||||
| color compose security_none     color208 color234 | ||||
							
								
								
									
										1
									
								
								neomutt/.config/neomutt/mailboxes
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								neomutt/.config/neomutt/mailboxes
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| mailboxes "+ac_lyon/Archives" "+ac_lyon/Archives.2019-2020" "+ac_lyon/Archives.2020-2021" "+ac_lyon/Archives.2021-2022" "+ac_lyon/Archives.2022-2023" "+ac_lyon/Archives/2019-2020" "+ac_lyon/Archives/2020-2021" "+ac_lyon/Archives/2021-2022" "+ac_lyon/Archives/2022-2023" "+ac_lyon/Brouillons" "+ac_lyon/Drafts" "+ac_lyon/Eleves" "+ac_lyon/Eleves.2nd1" "+ac_lyon/Eleves/2nd1" "+ac_lyon/Envoy&AOk-s" "+ac_lyon/INBOX" "+ac_lyon/Junk" "+ac_lyon/Sent" "+ac_lyon/TICE" "+ac_lyon/Trash" "+bb_opytex/Archive" "+bb_opytex/Drafts" "+bb_opytex/INBOX" "+bb_opytex/R&AOk-seautage" "+bb_opytex/Sent Items" "+bb_opytex/Spam?" "+bb_opytex/Trash" "+jb_opytex/2021" "+jb_opytex/2022" "+jb_opytex/Archive" "+jb_opytex/Drafts" "+jb_opytex/INBOX" "+jb_opytex/Sent Items" "+jb_opytex/Spam?" "+jb_opytex/Trash" | ||||
							
								
								
									
										12
									
								
								neomutt/.config/neomutt/mailcap
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								neomutt/.config/neomutt/mailcap
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | ||||
| # xdg-open | ||||
| application/msword; /usr/bin/xdg-open %s | ||||
| application/pdf; /usr/bin/xdg-open %s | ||||
| application/postscript ; /usr/bin/xdg-open %s | ||||
|  | ||||
| # HTML | ||||
| text/html; w3m -I %{charset} -T text/html; copiousoutput; | ||||
| text/plain; nvim %s | ||||
|  | ||||
| #Images | ||||
| image/png; /usr/bin/vimiv %s | ||||
| image/jpeg; /usr/bin/vimiv %s | ||||
							
								
								
									
										56
									
								
								neomutt/.config/neomutt/mappings
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								neomutt/.config/neomutt/mappings
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,56 @@ | ||||
| # vim: filetype=muttrc | ||||
|  | ||||
| # sidebar mappings | ||||
| bind index,pager \Ck sidebar-prev | ||||
| bind index,pager \Cj sidebar-next | ||||
| bind index,pager \Co sidebar-open | ||||
| bind index,pager \Cp sidebar-prev-new | ||||
| bind index,pager \Cn sidebar-next-new | ||||
| bind index,pager B sidebar-toggle-visible | ||||
|  | ||||
| # global index and pager shortcuts | ||||
| bind index,pager @ compose-to-sender | ||||
| bind index,pager D purge-message | ||||
| bind index <tab> sync-mailbox | ||||
| bind index <space> collapse-thread | ||||
|  | ||||
| # Email completion bindings | ||||
| bind editor <Tab> complete-query | ||||
| bind editor ^T complete | ||||
|  | ||||
|  | ||||
| # General rebindings | ||||
| bind attach <return> view-mailcap | ||||
| bind attach l view-mailcap | ||||
| bind editor <space> noop | ||||
| bind pager c imap-fetch-mail | ||||
| bind index G last-entry | ||||
| bind index g noop | ||||
| bind index gg first-entry | ||||
| bind pager,attach h exit | ||||
| bind pager j next-line | ||||
| bind pager k previous-line | ||||
| bind pager l view-attachments | ||||
| bind index D delete-message | ||||
| bind index U undelete-message | ||||
| bind index L limit | ||||
| bind index h noop | ||||
| bind index l display-message | ||||
| bind browser h goto-parent | ||||
| bind browser l select-entry | ||||
| bind pager,browser gg top-page | ||||
| bind pager,browser G bottom-page | ||||
| bind index,pager,browser d half-down | ||||
| bind index,pager,browser u half-up | ||||
| bind index,pager R group-reply | ||||
| bind index \031 previous-undeleted	# Mouse wheel | ||||
| bind index \005 next-undeleted		# Mouse wheel | ||||
| bind pager \031 previous-line		# Mouse wheel | ||||
| bind pager \005 next-line		# Mouse wheel | ||||
| bind editor <Tab> complete-query | ||||
| # | ||||
| ## Shortcuts | ||||
| macro index,pager <f2> '<sync-mailbox><enter-command>source ~/.config/neomutt/accounts/ac-lyon<enter><change-folder>!<enter>' | ||||
| macro index,pager <f3> '<sync-mailbox><enter-command>source ~/.config/neomutt/accounts/bb_opytex<enter><change-folder>!<enter>' | ||||
| macro index,pager <f4> '<sync-mailbox><enter-command>source ~/.config/neomutt/accounts/jb_opytex<enter><change-folder>!<enter>' | ||||
|  | ||||
							
								
								
									
										15
									
								
								neomutt/.config/neomutt/neomuttrc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								neomutt/.config/neomutt/neomuttrc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | ||||
| # vim: filetype=muttrc | ||||
|  | ||||
| source ~/.config/neomutt/settings | ||||
| source ~/.config/neomutt/colors_gruvbox | ||||
| source ~/.config/neomutt/mappings | ||||
|  | ||||
|  | ||||
| #source ~/.config/neomutt/accounts/jb_opytex | ||||
| folder-hook jb_opytex/* 'source ~/.config/neomutt/accounts/jb_opytex' | ||||
| #source ~/.config/neomutt/accounts/bb_opytex | ||||
| folder-hook bb_opytex/* 'source ~/.config/neomutt/accounts/bb_opytex' | ||||
| source ~/.config/neomutt/accounts/ac-lyon | ||||
| folder-hook ac_lyon/* 'source ~/.config/neomutt/accounts/ac-lyon' | ||||
|  | ||||
| #source ~/.config/neomutt/mailboxes | ||||
							
								
								
									
										72
									
								
								neomutt/.config/neomutt/settings
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								neomutt/.config/neomutt/settings
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,72 @@ | ||||
| # vim: filetype=muttrc | ||||
|  | ||||
| set editor = "nvim" | ||||
|  | ||||
| set realname = "Benjamin Bertrand" | ||||
| set use_from = "yes" | ||||
|  | ||||
| # How often to check for new mail (time in seconds). | ||||
| set mail_check = 120 | ||||
|  | ||||
| # Allow Mutt to open a new IMAP connection automatically. | ||||
| unset imap_passive | ||||
|  | ||||
| # Keep the IMAP connection alive by polling intermittently (time in seconds). | ||||
| set imap_keepalive = 300 | ||||
|  | ||||
| # main options | ||||
| set envelope_from | ||||
| set edit_headers                     # show headers when composing | ||||
| set fast_reply                       # skip to compose when replying | ||||
| set askcc                            # ask for CC: | ||||
| set fcc_attach                       # save attachments with the body | ||||
| set forward_format = "Fwd: %s"       # format of subject when forwarding | ||||
| set forward_decode                   # decode when forwarding | ||||
| set attribution = "On %d, %n wrote:" # format of quoting header | ||||
| set reply_to                         # reply to Reply to: field | ||||
| set reverse_name                     # reply as whomever it was to | ||||
| set include                          # include message in replies | ||||
| set forward_quote                    # include message in forwards | ||||
| set text_flowed | ||||
| unset sig_dashes                     # no dashes before sig | ||||
| unset mime_forward                   # forward attachments as part of body | ||||
| unset help                           # No help bar at the top of index | ||||
| # set status_on_top                    # Status bar on top of index | ||||
| set tmpdir = ~/Programs/neomutt/temp # where to keep temp files | ||||
|  | ||||
|  | ||||
|  | ||||
| # status bar, date format, finding stuff etc. | ||||
| set status_chars = " *%A" | ||||
| set status_format = "[ Folder: %f ] [%r%m messages%?n? (%n new)?%?d? (%d to delete)?%?t? (%t tagged)? ]%>─%?p?( %p postponed )?" | ||||
| set date_format = "%d.%m.%Y %H:%M" | ||||
| set sort = threads | ||||
| set sort_aux = reverse-last-date-received | ||||
| set uncollapse_jump | ||||
| set sort_re | ||||
| set reply_regexp = "^(([Rr][Ee]?(\[[0-9]+\])?: *)?(\[[^]]+\] *)?)*" | ||||
| set quote_regexp = "^( {0,4}[>|:#%]| {0,4}[a-z0-9]+[>|]+)+" | ||||
| set send_charset = "utf-8:iso-8859-1:us-ascii" | ||||
| set charset = "utf-8" | ||||
| set arrow_cursor = "no" # Change `color indicator` depending | ||||
|  | ||||
|  | ||||
| # Pager View Options | ||||
| set pager_index_lines = 20  # Shows 10 lines of index when pager is active | ||||
| set pager_context = 3 | ||||
| set pager_stop | ||||
| set menu_scroll | ||||
| set tilde | ||||
| unset markers | ||||
|  | ||||
| # Mailcal for attachments | ||||
| set mailcap_path = ~/.config/neomutt/mailcap | ||||
| set header_cache = "~/.cache/mutt" | ||||
| set message_cachedir = "~/.cache/mutt" | ||||
|  | ||||
| # Contact with khard | ||||
| set query_command = "khard email --parsable --search-in-source-files '%s'" | ||||
|  | ||||
| # Set preffered view modes | ||||
| auto_view text/html text/calendar application/ics # view html automatically | ||||
| alternative_order text/html text/plain text/enriched text/* | ||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										67
									
								
								neomutt/.config/offlineimap/config
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								neomutt/.config/offlineimap/config
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,67 @@ | ||||
| [general] | ||||
| accounts = bb_opytex, jb_opytex, ac_lyon | ||||
| pythonfile = ~/.config/offlineimap/offlineimap.py | ||||
| maxsyncaccounts = 1 | ||||
|  | ||||
| [mbnames] | ||||
| enabled = yes | ||||
| filename = ~/.config/neomutt/mailboxes | ||||
| header = "mailboxes " | ||||
| peritem = "+%(accountname)s/%(foldername)s" | ||||
| sep = " " | ||||
| footer = "\n" | ||||
|  | ||||
|  | ||||
| [Account bb_opytex] | ||||
| localrepository = Local-bb_opytex | ||||
| remoterepository = Remote-bb_opytex | ||||
| autorefresh = 1 | ||||
| quick = 10 | ||||
|  | ||||
| [Repository Local-bb_opytex] | ||||
| type = Maildir | ||||
| localfolders = ~/.mail/bb_opytex | ||||
| sep = / | ||||
|  | ||||
| [Repository Remote-bb_opytex] | ||||
| type = IMAP | ||||
| remotehost = imap.mailfence.com | ||||
| remoteuser = Takanuva | ||||
| remotepasseval = get_pass("mail/mailfence/Takanuva") | ||||
| sslcacertfile = /etc/ssl/certs/ca-certificates.crt | ||||
|  | ||||
| [Account jb_opytex] | ||||
| localrepository = Local-jb_opytex | ||||
| remoterepository = Remote-jb_opytex | ||||
| autorefresh = 1 | ||||
| quick = 10 | ||||
|  | ||||
| [Repository Local-jb_opytex] | ||||
| type = Maildir | ||||
| localfolders = ~/.mail/jb_opytex | ||||
| sep = / | ||||
|  | ||||
| [Repository Remote-jb_opytex] | ||||
| type = IMAP | ||||
| remotehost = imap.mailfence.com | ||||
| remoteuser = margot_benjamin | ||||
| remotepasseval = get_pass("mail/jost_bertrand@opytex.org/margot_benjamin") | ||||
| sslcacertfile = /etc/ssl/certs/ca-certificates.crt | ||||
|  | ||||
| [Account ac_lyon] | ||||
| localrepository = Local-ac_lyon | ||||
| remoterepository = Remote-ac_lyon | ||||
| autorefresh = 1 | ||||
| quick = 10 | ||||
|  | ||||
| [Repository Local-ac_lyon] | ||||
| type = Maildir | ||||
| localfolders = ~/.mail/ac_lyon | ||||
| sep = / | ||||
|  | ||||
| [Repository Remote-ac_lyon] | ||||
| type = IMAP | ||||
| remotehost = mail.ac-lyon.fr | ||||
| remoteuser = bbertrand | ||||
| remotepasseval = get_pass("Prof/pronote/bbertrand") | ||||
| sslcacertfile = /etc/ssl/certs/ca-certificates.crt | ||||
							
								
								
									
										5
									
								
								neomutt/.config/offlineimap/offlineimap.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								neomutt/.config/offlineimap/offlineimap.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | ||||
| from subprocess import check_output | ||||
|  | ||||
|  | ||||
| def get_pass(path): | ||||
|     return check_output("pass " + path, shell=True).splitlines()[0] | ||||
							
								
								
									
										21
									
								
								neomutt/.config/vdirsyncer/config
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								neomutt/.config/vdirsyncer/config
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,21 @@ | ||||
| [general] | ||||
| status_path = "~/.config/vdirsyncer/status/" | ||||
|  | ||||
| [pair cloud_opytex_contact] | ||||
| a = "cloud_opytex_contact_local" | ||||
| b = "cloud_opytex_contact_remote" | ||||
| collections = ["from a", "from b"] | ||||
| conflict_resolution = "b wins" | ||||
|  | ||||
| [storage cloud_opytex_contact_local] | ||||
| type = "filesystem" | ||||
| path = "~/.contacts/" | ||||
| fileext = ".vcf" | ||||
|  | ||||
| [storage cloud_opytex_contact_remote] | ||||
| type = "carddav" | ||||
|  | ||||
| # We can simplify this URL here as well. In theory it shouldn't matter. | ||||
| url = "https://cloud.poneyworld.net/remote.php/dav/addressbooks/users/lafrite/contacts/" | ||||
| username = "lafrite" | ||||
| password.fetch = ["command", "pass", "OVH/Panais/docker/cloud.poneyworld.net/lafrite"] | ||||
| @@ -1,8 +1,8 @@ | ||||
| auto-reload yes | ||||
| reload-time 30 | ||||
| browser chromium | ||||
| macro y set browser "tmux new-window mpv %u"; open-in-browser ; set browser chromium | ||||
| macro Y set browser "mpv %u"; open-in-browser ; set browser chromium | ||||
| browser "chromium --incognito" | ||||
| macro y set browser "tmux new-window mpv %u"; open-in-browser ; set browser "chromium --incognito" | ||||
| macro Y set browser "mpv %u"; open-in-browser ; set browser "chromium --incognito" | ||||
|  | ||||
| unbind-key h | ||||
| unbind-key j | ||||
| @@ -14,6 +14,13 @@ bind-key j down | ||||
| bind-key k up | ||||
| bind-key l open | ||||
|  | ||||
| unbind-key G | ||||
| bind-key G end | ||||
| bind-key s sort | ||||
| unbind-key g | ||||
| bind-key g home | ||||
| bind-key S rev-sort | ||||
|  | ||||
| color background         default   default | ||||
| color listnormal         default   default | ||||
| color listnormal_unread  default   default | ||||
|   | ||||
| @@ -3,10 +3,17 @@ https://www.youtube.com/feeds/videos.xml?channel_id=UCXuqSBlHAE6Xw-yeJA0Tunw "Te | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCeeFfhMcJa1kjtfZAGskOCA "Tech" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCsRIv1fsbnQRIPKmUQbRzZg "Tech" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCUQo7nzH1sXVpzL92VesANw "Tech" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCV0qA-eDDICsRR9rPcnG7tw "Tech" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCR-DXc1voovS8nhAvccRZhg "Tech" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCVRJ6D343dX-x730MRP8tNw "Tech" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCG5Ph9Mm6UEQLJJ-kGIC2AQ "Tech" "OneMarcFifty" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCWedHS9qKebauVIK2J7383g "Tech" "Underscore_" | ||||
|  | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UC9C07cryUrKzLuAzwITPA3A "SC2" "SC2HL" | ||||
|  | ||||
|  | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCr_3nQ4eRCwm_XUDpf62MAg "Information "Partager C'est Sympa" | ||||
|  | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCg7HRuQ93hl9v8dTSt_XDHA "Ferme" "~Banabé" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCsM4_jihNFYe4CtSkXvDR-Q "Ferme" "~permaculture agroécologie etc..." | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UC2avy3Pwc3yVtt-tPKJn33A "Ferme" "~Ma ferme autonome" | ||||
| @@ -22,16 +29,23 @@ https://www.youtube.com/feeds/videos.xml?channel_id=UCL_r1ELEvAuN0peKUxI0Umw "Pe | ||||
|  | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCzVy7DiPyVvfiOvXF_XMs4Q "Apnée" "~Adam Freediver" | ||||
|  | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCRoFIKcVNGvv9Oimdb9FBGg "Apnée" "Hodgepodge" | ||||
|  | ||||
|  | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCJNItGjNhUx3Zz6W4OCVfHA "Bois" "~Passion renovation" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCvDpfkniGG6WkX5L7DwyGaA "Bois" "Olivier Verdier" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UC7TiJ6Tnxc_dSE42byTPMug "Bois" "Copain des copeaux" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UC9fGq2-6FaftcegcIadLf6A "Bois" "Samuel Mamias" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCOuow_HIYmeaIqi42zVs3qg "Bois" "Kirby Meets Audio" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UC7FkqjV8SU5I8FCHXQSQe9Q "Bois" "Ishitani furniture" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCjaudhGC0gBfEtMyQYzT3pA "Bois" "Atelier Floky" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCJNItGjNhUx3Zz6W4OCVfHA "Chantier" "~Passion renovation" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCxiqy-VOYw6uBE4raFCz4Ow "Chantier" "LJVS" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCKt0CjXg6PRocxlCss90e8g "Chantier" "Clément Beraud" | ||||
|  | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCRix1GJvSBNDpEFY561eSzw "DIY" "Laura Kampf" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCjED9uS41ioeFuPfbR-OBlw "DIY" "Les frères Poulain" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCWimnuBF27nwOxgUBJ4qNeg "DIY" "Abrege" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UC6x7GwJxuoABSosgVXDYtTw "DIY" "I like to make stuff" | ||||
|  | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UC6mIxFTvXkWQVEHPsEdflzQ "Electronique" "GreatScott!" | ||||
|  | ||||
| @@ -39,13 +53,20 @@ https://www.youtube.com/feeds/videos.xml?channel_id=UCP6qAy9q_Lkhzu2reZfun9g "Sk | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCjHh3N6jUJKdrtTqNorpRhg "Ski" "Bon appetit" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCdtrhMQTlTWNLGcmx1Qy80Q "Ski" "Fabien Maierhofer" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UChkpEJqHjX-tGmYoGf8jdGA "Escalade" "EpicTV Relais Vertical" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCJlvyoYGLr3UIV0oD4-aarA "Sports" "Riding zone" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCy0I5Hcl2k7dN4UdZTedfeQ "Sports" "Hit the road" | ||||
|  | ||||
|  | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCgkhWgBGRp0sdFy2MHDWfSg "Math" "El Ji" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCYO_jab_esuFRV4b17AJtAw "Math" "3Blue1Brown" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCLXDNUOO3EQ80VmD9nQBHPg "???" "Fouloscopie" | ||||
|  | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCoJtk2M8bme9KXTe6F3K-Yg "CLI" "The Mouseless Dev" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UC8ENHE5xdFSwx71u3fDH5Xw "Vim" "ThePrimeagen" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCXPHFM88IlFn68OmLwtPmZA "Vim" "Greg Hurrel" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCs_AZuYXi6NA9tkdbhjItHQ "AdminSys" "Xavki" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCOk-gHyjcWZNj3Br4oxwh0A "Homelab" "Techno Tim" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCWQaM7SpSECp9FELz-cHzuQ "Cording" "Dream of Code" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCvjgXvBlbQiydffZU7m1_aw "Programmation" "~Coding Train" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCj_iGliGCkLcHSZ8eqVNPDQ "Programmation" "~Grafikart.fr" | ||||
| https://www.youtube.com/feeds/videos.xml?channel_id=UCLOAPb7ATQUs_nDs9ViLcMw "Programmation" "Benjamin Code" | ||||
|   | ||||
| @@ -1,18 +0,0 @@ | ||||
| " Use completion-nvim in every buffer | ||||
| autocmd BufEnter * lua require'nvim-comp'.on_attach() | ||||
|  | ||||
| let g:completion_enable_snippet = 'UltiSnips' | ||||
| let g:completion_matching_strategy_list = ['exact', 'substring', 'fuzzy'] | ||||
|  | ||||
| " Use <Tab> and <S-Tab> to navigate through popup menu | ||||
| " inoremap <expr> <Tab>   pumvisible() ? "\<C-n>" : "\<Tab>" | ||||
| " inoremap <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>" | ||||
|  | ||||
| "map <c-p> to manually trigger completion | ||||
| "imap <silent> <c-p> <Plug>(completion_trigger) | ||||
|  | ||||
| " Set completeopt to have a better completion experience | ||||
| set completeopt=menuone,noinsert,noselect | ||||
|  | ||||
| " Avoid showing message extra message when using completion | ||||
| set shortmess+=c | ||||
| @@ -1,19 +0,0 @@ | ||||
| " Better window navigation | ||||
| " nnoremap <C-h> <C-w>h | ||||
| " nnoremap <C-j> <C-w>j | ||||
| " nnoremap <C-k> <C-w>k | ||||
| " nnoremap <C-l> <C-w>l | ||||
|  | ||||
| " Align blocks of text and keep them selected | ||||
| vmap < <gv | ||||
| vmap > >gv | ||||
|  | ||||
| " Automatically spell check last error in insert mode | ||||
| inoremap <c-f> <c-g>u<Esc>[s1z=`]a<c-g>u | ||||
|  | ||||
| " Find files using Telescope command-line sugar. | ||||
| nnoremap <leader>e <cmd>Telescope find_files<cr> | ||||
| nnoremap <leader>g <cmd>Telescope live_grep<cr> | ||||
| nnoremap <leader>b <cmd>Telescope buffers<cr> | ||||
| nnoremap <leader>h <cmd>Telescope help_tags<cr> | ||||
|  | ||||
| @@ -1,69 +0,0 @@ | ||||
| " set leader key | ||||
| let g:mapleader = "\<Space>" | ||||
|  | ||||
| syntax enable                           " Enables syntax highlighing | ||||
| set hidden                              " Required to keep multiple buffers open multiple buffers | ||||
| set wrap                                " Display long lines as just one line | ||||
| set pumheight=10                        " Makes popup menu smaller | ||||
| set encoding=utf-8                      " The encoding displayed | ||||
| set fileencoding=utf-8                  " The encoding written to file | ||||
| set ruler                               " Show the cursor position all the time | ||||
| set cmdheight=1                         " More space for displaying messages | ||||
| set iskeyword+=-                        " treat dash separated words as a word text object" | ||||
| set mouse=a                             " Enable your mouse | ||||
| set t_Co=256                            " Support 256 colors | ||||
|  | ||||
| set conceallevel=0                      " So that I can see `` in markdown files | ||||
| set tabstop=4                           " Insert 2 spaces for a tab | ||||
| set shiftwidth=4                        " Change the number of space characters inserted for indentation | ||||
| set smarttab                            " Makes tabbing smarter will realize you have 2 vs 4 | ||||
| set expandtab                           " Converts tabs to spaces | ||||
| set smartindent                         " Makes indenting smart | ||||
| set autoindent                          " Good auto indent | ||||
| set foldmethod=indent | ||||
|  | ||||
| set laststatus=2                        " Always display the status line | ||||
|  | ||||
| set number                              " Line number | ||||
| set relativenumber                      " Relative line number | ||||
| set cursorline                          " Enable highlighting of the current line | ||||
| set showtabline=1                       " show tabs only when there are some | ||||
|  | ||||
| set background=dark                     " tell vim what the background color looks like | ||||
|  | ||||
| set nobackup                            " This is recommended by coc | ||||
| set nowritebackup                       " This is recommended by coc | ||||
| set noswapfile | ||||
|  | ||||
| set updatetime=300                      " Faster completion | ||||
| set timeoutlen=500                      " By default timeoutlen is 1000 ms | ||||
|  | ||||
| set clipboard=unnamedplus               " Copy paste between vim and everything else | ||||
|  | ||||
| set showmode                            " Display edition mode | ||||
| "set noshowmode                          " We don't need to see things like -- INSERT -- anymore | ||||
|  | ||||
| set incsearch                           " hightlight while searching | ||||
| set ignorecase                          " Ignore case while searching | ||||
| set smartcase                           " Override ignorecase if search patern contains upper case | ||||
| set wildmenu                            " Enable wildmenu | ||||
|  | ||||
| set spell                               " Enable spell checking | ||||
| set spelllang=fr,en | ||||
|  | ||||
| set nrformats+=alpha                    " letter concidered as number for Ctrl-A or Ctrl-X | ||||
|  | ||||
| "set autochdir                           " Your working directory will always be the same as your working directory | ||||
|  | ||||
| execute "set colorcolumn=" . join(range(81,335), ',') | ||||
|  | ||||
| colorscheme zenburn | ||||
|  | ||||
| " Set completeopt to have a better completion experience | ||||
| " set completeopt=menuone,noinsert,noselect | ||||
| " set completeopt=menuone,noselect | ||||
|  | ||||
| " Avoid showing message extra message when using completion | ||||
| set shortmess+=c | ||||
|  | ||||
| let g:indentLine_setConceal = 0 | ||||
							
								
								
									
										17
									
								
								nvim/.config/nvim/init.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								nvim/.config/nvim/init.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,17 @@ | ||||
| local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" | ||||
| if not vim.loop.fs_stat(lazypath) then | ||||
|   vim.fn.system({ | ||||
|     "git", | ||||
|     "clone", | ||||
|     "--filter=blob:none", | ||||
|     "https://github.com/folke/lazy.nvim.git", | ||||
|     "--branch=stable", -- latest stable release | ||||
|     lazypath, | ||||
|   }) | ||||
| end | ||||
| vim.opt.rtp:prepend(lazypath) | ||||
|  | ||||
| vim.g.mapleader = ' '             -- Leaderkey | ||||
| require("lazy").setup("plugins") | ||||
| require('settings') | ||||
| require('mappings') | ||||
| @@ -1,18 +0,0 @@ | ||||
| source $HOME/.config/nvim/plugins/plugins.vim | ||||
| source $HOME/.config/nvim/general/settings.vim | ||||
| source $HOME/.config/nvim/general/mappings.vim | ||||
| " source $HOME/.config/nvim/general/completion.vim | ||||
|  | ||||
| source $HOME/.config/nvim/plugins/lightline.vim | ||||
| source $HOME/.config/nvim/plugins/nvim-comp.vim | ||||
| source $HOME/.config/nvim/plugins/vimtex.vim | ||||
|  | ||||
| lua <<EOF | ||||
| require("lsp") | ||||
| EOF | ||||
|  | ||||
| " require("comp") | ||||
|  | ||||
| " bug fix with telescope and insert mode https://GitHub.com/vim telescope/telescope.vim/issues/82 | ||||
| autocmd FileType TelescopePrompt | ||||
|        \ call deoplete#custom#buffer_option('auto_complete', v:false) | ||||
							
								
								
									
										36
									
								
								nvim/.config/nvim/lazy-lock.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								nvim/.config/nvim/lazy-lock.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,36 @@ | ||||
| { | ||||
|   "Comment.nvim": { "branch": "master", "commit": "0236521ea582747b58869cb72f70ccfa967d2e89" }, | ||||
|   "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, | ||||
|   "cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" }, | ||||
|   "cmp-nvim-lsp": { "branch": "main", "commit": "44b16d11215dce86f253ce0c30949813c0a90765" }, | ||||
|   "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, | ||||
|   "cmp-vsnip": { "branch": "main", "commit": "989a8a73c44e926199bfd05fa7a516d51f2d2752" }, | ||||
|   "gitsigns.nvim": { "branch": "main", "commit": "ff01d34daaed72f271a8ffa088a7e839a60c640f" }, | ||||
|   "gruvbox": { "branch": "master", "commit": "f1ecde848f0cdba877acb0c740320568252cc482" }, | ||||
|   "indent-blankline.nvim": { "branch": "master", "commit": "877c1db2bf957300097dd5348a665666a4d900cb" }, | ||||
|   "lazy.nvim": { "branch": "main", "commit": "6b6f0a451200bb6abde85978c577c73ea1577758" }, | ||||
|   "lsp-zero.nvim": { "branch": "v3.x", "commit": "22677c535fdc11a73da67a186a30e360d8857497" }, | ||||
|   "lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" }, | ||||
|   "mason-lspconfig.nvim": { "branch": "main", "commit": "e2705063f395b44f676cd26596a11007a2cbd3bd" }, | ||||
|   "mason.nvim": { "branch": "main", "commit": "d66c60e17dd6fd8165194b1d14d21f7eb2c1697a" }, | ||||
|   "noice.nvim": { "branch": "main", "commit": "7cf858c30841c9c41601ce58e5bc2023228037ef" }, | ||||
|   "nui.nvim": { "branch": "main", "commit": "c8de23342caf8d50b15d6b28368d36a56a69d76f" }, | ||||
|   "nvim-autopairs": { "branch": "master", "commit": "de4f7138a68d5d5063170f2182fd27faf06b0b54" }, | ||||
|   "nvim-cmp": { "branch": "main", "commit": "5dce1b778b85c717f6614e3f4da45e9f19f54435" }, | ||||
|   "nvim-colorizer.lua": { "branch": "master", "commit": "36c610a9717cc9ec426a07c8e6bf3b3abcb139d6" }, | ||||
|   "nvim-lspconfig": { "branch": "master", "commit": "2b361e043810d5587d9af0787f8ce40da92ec5e9" }, | ||||
|   "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, | ||||
|   "nvim-treesitter": { "branch": "master", "commit": "10bfa4826f2235c600c073a82e0d78718aa7240e" }, | ||||
|   "nvim-web-devicons": { "branch": "master", "commit": "45d0237c427baba8cd05e0ab26d30e2ee58c2c82" }, | ||||
|   "oil.nvim": { "branch": "master", "commit": "ac2928cca85ba3596e92f9f51940d46be2d606f8" }, | ||||
|   "plenary.nvim": { "branch": "master", "commit": "9ce85b0f7dcfe5358c0be937ad23e456907d410b" }, | ||||
|   "telescope.nvim": { "branch": "0.1.x", "commit": "54930e1abfc94409e1bb9266e752ef8379008592" }, | ||||
|   "vim-abolish": { "branch": "master", "commit": "dcbfe065297d31823561ba787f51056c147aa682" }, | ||||
|   "vim-fugitive": { "branch": "master", "commit": "99db68d9b3304580bd383da7aaee05c7a954a344" }, | ||||
|   "vim-highlightedyank": { "branch": "master", "commit": "fa3f57b097e9521ce41a66b6c7cf5d9adea70ea3" }, | ||||
|   "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, | ||||
|   "vim-surround": { "branch": "master", "commit": "3d188ed2113431cf8dac77be61b842acb64433d9" }, | ||||
|   "vim-tmux-navigator": { "branch": "master", "commit": "7db70e08ea03b3e4d91f63713d76134512e28d7e" }, | ||||
|   "vim-vsnip": { "branch": "master", "commit": "be277461265f1e5c7db470aa479f30956597ea9e" }, | ||||
|   "which-key.nvim": { "branch": "main", "commit": "7ccf476ebe0445a741b64e36c78a682c1c6118b7" } | ||||
| } | ||||
| @@ -1,78 +0,0 @@ | ||||
| -- Configuration for nvim-compe | ||||
|  | ||||
| local utils = require('utils') | ||||
|  | ||||
| vim.cmd [[set shortmess+=c]] | ||||
| utils.opt('o', 'completeopt', 'menuone,noselect') | ||||
|  | ||||
| require'compe'.setup { | ||||
|     enabled = true; | ||||
|     autocomplete = true; | ||||
|     debug = false; | ||||
|     min_length = 1; | ||||
|     preselect = 'enable'; | ||||
|     throttle_time = 80; | ||||
|     source_timeout = 200; | ||||
|     incomplete_delay = 400; | ||||
|     allow_prefix_unmatch = false; | ||||
|     max_abbr_width = 1000; | ||||
|     max_kind_width = 1000; | ||||
|     max_menu_width = 1000000; | ||||
|     documentation = true; | ||||
|  | ||||
|  | ||||
|     source = { | ||||
|         path = true; | ||||
|         buffer = true; | ||||
|         calc = false; | ||||
|         vsnip = true; | ||||
|         nvim_lsp = true; | ||||
|         nvim_lua = false; | ||||
|         spell = true; | ||||
|         tags = true; | ||||
|         snippets_nvim = false; | ||||
|         treesitter = true; | ||||
|   }; | ||||
| } | ||||
|  | ||||
| local t = function(str) | ||||
|   return vim.api.nvim_replace_termcodes(str, true, true, true) | ||||
| end | ||||
|  | ||||
| local check_back_space = function() | ||||
|     local col = vim.fn.col('.') - 1 | ||||
|     if col == 0 or vim.fn.getline('.'):sub(col, col):match('%s') then | ||||
|         return true | ||||
|     else | ||||
|         return false | ||||
|     end | ||||
| end | ||||
|  | ||||
| -- Use (s-)tab to: | ||||
| --- move to prev/next item in completion menuone | ||||
| --- jump to prev/next snippet's placeholder | ||||
| _G.tab_complete = function() | ||||
|   if vim.fn.pumvisible() == 1 then | ||||
|     return t "<C-n>" | ||||
|   elseif vim.fn.call("vsnip#available", {1}) == 1 then | ||||
|     return t "<Plug>(vsnip-expand-or-jump)" | ||||
|   elseif check_back_space() then | ||||
|     return t "<Tab>" | ||||
|   else | ||||
|     return vim.fn['compe#complete']() | ||||
|   end | ||||
| end | ||||
| _G.s_tab_complete = function() | ||||
|   if vim.fn.pumvisible() == 1 then | ||||
|     return t "<C-p>" | ||||
|   elseif vim.fn.call("vsnip#jumpable", {-1}) == 1 then | ||||
|     return t "<Plug>(vsnip-jump-prev)" | ||||
|   else | ||||
|     return t "<S-Tab>" | ||||
|   end | ||||
| end | ||||
|  | ||||
| utils.map("i", "<Tab>", "v:lua.tab_complete()", {expr = true}) | ||||
| utils.map("s", "<Tab>", "v:lua.tab_complete()", {expr = true}) | ||||
| utils.map("i", "<S-Tab>", "v:lua.s_tab_complete()", {expr = true}) | ||||
| utils.map("s", "<S-Tab>", "v:lua.s_tab_complete()", {expr = true}) | ||||
| @@ -1,62 +0,0 @@ | ||||
|  | ||||
| local nvim_lsp = require('lspconfig') | ||||
|  | ||||
| -- Use an on_attach function to only map the following keys | ||||
| -- after the language server attaches to the current buffer | ||||
| local on_attach = function(client, bufnr) | ||||
|   local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end | ||||
|   local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end | ||||
|  | ||||
|   --Enable completion triggered by <c-x><c-o> | ||||
|   buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc') | ||||
|  | ||||
|   -- Mappings. | ||||
|   local opts = { noremap=true, silent=true } | ||||
|  | ||||
|   -- See `:help vim.lsp.*` for documentation on any of the below functions | ||||
|   -- See references | ||||
|   buf_set_keymap('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts) | ||||
|   -- show documentation | ||||
|   buf_set_keymap('n', 'K', '<Cmd>lua vim.lsp.buf.hover()<CR>', opts) | ||||
|   -- Rename | ||||
|   buf_set_keymap('n', '<leader>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts) | ||||
|  | ||||
|   -- je sais pas ce c'est que ces workspaces | ||||
|   buf_set_keymap('n', '<leader>wa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>', opts) | ||||
|   buf_set_keymap('n', '<leader>wr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>', opts) | ||||
|   buf_set_keymap('n', '<leader>wl', '<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>', opts) | ||||
|   -- ?? | ||||
|   buf_set_keymap('n', '<leader>ca', '<cmd>lua vim.lsp.buf.code_action()<CR>', opts) | ||||
|   -- Details on diagnostics | ||||
|   buf_set_keymap('n', '<leader>d', '<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>', opts) | ||||
|   -- Cycle over diagnostics | ||||
|   buf_set_keymap('n', '[d', '<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>', opts) | ||||
|   buf_set_keymap('n', ']d', '<cmd>lua vim.lsp.diagnostic.goto_next()<CR>', opts) | ||||
|   -- Get diagnostic on local list | ||||
|   buf_set_keymap('n', '<leader>q', '<cmd>lua vim.lsp.diagnostic.set_loclist()<CR>', opts) | ||||
|   buf_set_keymap("n", "<leader>f", "<cmd>lua vim.lsp.buf.formatting()<CR>", opts) | ||||
|  | ||||
|   buf_set_keymap('n', 'gD', '<Cmd>lua vim.lsp.buf.declaration()<CR>', opts) | ||||
|   buf_set_keymap('n', 'gd', '<Cmd>lua vim.lsp.buf.definition()<CR>', opts) | ||||
|   buf_set_keymap('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts) | ||||
|   buf_set_keymap('n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts) | ||||
|   buf_set_keymap('n', '<leader>D', '<cmd>lua vim.lsp.buf.type_definition()<CR>', opts) | ||||
| end | ||||
|  | ||||
| -- Use a loop to conveniently call 'setup' on multiple servers and | ||||
| -- map buffer local keybindings when the language server attaches | ||||
| local servers = { "texlab", "pyright", "vuels", "tsserver" } | ||||
| for _, lsp in ipairs(servers) do | ||||
|   nvim_lsp[lsp].setup { | ||||
|     on_attach = on_attach, | ||||
|     flags = { | ||||
|       debounce_text_changes = 150, | ||||
|     } | ||||
|   } | ||||
| end | ||||
|  | ||||
| nvim_lsp.vuels.setup{ | ||||
|   on_attach = function(client) | ||||
|     client.resolved_capabilities.document_formatting = true | ||||
|   end; | ||||
| } | ||||
							
								
								
									
										19
									
								
								nvim/.config/nvim/lua/mappings.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								nvim/.config/nvim/lua/mappings.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | ||||
| local map = vim.api.nvim_set_keymap | ||||
| local default_opts = {noremap = true, silent = true} | ||||
|  | ||||
| -- Align blocks of text and keep them selected | ||||
| map('v', '<', '<gv', {}) | ||||
| map('v', '>', '>gv', {}) | ||||
|  | ||||
| -- Automatically spell check last error in insert mode | ||||
| map('i', '<c-f>', '<c-g>u<Esc>[s1z=`]a<c-g>u', default_opts) | ||||
|  | ||||
| -- Centering after moving half page or search | ||||
| vim.keymap.set("n", "<C-d>", "<C-d>zz") | ||||
| vim.keymap.set("n", "<C-u>", "<C-u>zz") | ||||
| vim.keymap.set("n", "n", "nzzzv") | ||||
| vim.keymap.set("n", "N", "Nzzzv") | ||||
|  | ||||
| -- Move block on visual mode | ||||
| vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv") | ||||
| vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv") | ||||
							
								
								
									
										7
									
								
								nvim/.config/nvim/lua/plugins/autopairs.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								nvim/.config/nvim/lua/plugins/autopairs.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,7 @@ | ||||
| return { | ||||
|     'windwp/nvim-autopairs', | ||||
|     event = "InsertEnter", | ||||
|     opts = { | ||||
|         disable_filetype = { "TelescopePrompt" , "vim" }, | ||||
|     } -- this is equalent to setup({}) function | ||||
| } | ||||
							
								
								
									
										14
									
								
								nvim/.config/nvim/lua/plugins/colorizer.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								nvim/.config/nvim/lua/plugins/colorizer.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | ||||
| return { | ||||
|     'norcalli/nvim-colorizer.lua', | ||||
|     config = function () | ||||
|         vim.opt.termguicolors = true | ||||
|         require('colorizer').setup { | ||||
|             'css'; | ||||
|             'javascript'; | ||||
|             html = { | ||||
|                 mode = 'foreground'; | ||||
|             } | ||||
|         } | ||||
|     end | ||||
|  | ||||
| } | ||||
							
								
								
									
										9
									
								
								nvim/.config/nvim/lua/plugins/colorscheme.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								nvim/.config/nvim/lua/plugins/colorscheme.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | ||||
| return { | ||||
| 	"morhetz/gruvbox", | ||||
| 	lazy = false, -- make sure we load this during startup if it is your main colorscheme | ||||
| 	priority = 1000, -- make sure to load this before all the other start plugins | ||||
| 	config = function() | ||||
| 		-- load the colorscheme here | ||||
| 		vim.cmd([[colorscheme gruvbox]]) | ||||
| 	end | ||||
| } | ||||
							
								
								
									
										6
									
								
								nvim/.config/nvim/lua/plugins/comment.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								nvim/.config/nvim/lua/plugins/comment.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| return { | ||||
|     'numToStr/Comment.nvim', | ||||
|     config=function () | ||||
|         require('Comment').setup() | ||||
|     end | ||||
| } | ||||
							
								
								
									
										59
									
								
								nvim/.config/nvim/lua/plugins/completion.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								nvim/.config/nvim/lua/plugins/completion.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,59 @@ | ||||
| return  { | ||||
|     'hrsh7th/nvim-cmp', | ||||
|     dependencies = { | ||||
|         'neovim/nvim-lspconfig', | ||||
|         'hrsh7th/cmp-nvim-lsp', | ||||
|         'hrsh7th/cmp-buffer', | ||||
|         'hrsh7th/cmp-path', | ||||
|         'hrsh7th/cmp-cmdline', | ||||
|         'hrsh7th/cmp-vsnip', | ||||
|         'hrsh7th/vim-vsnip', | ||||
|     }, | ||||
|     config = function () | ||||
|         local cmp = require'cmp' | ||||
|         cmp.setup({ | ||||
|             snippet = { | ||||
|                 expand = function(args) | ||||
|                     vim.fn["vsnip#anonymous"](args.body) -- For `vsnip` users. | ||||
|                 end, | ||||
|             }, | ||||
|             window = { | ||||
|                 completion = cmp.config.window.bordered(), | ||||
|                 documentation = cmp.config.window.bordered(), | ||||
|             }, | ||||
|             sources = cmp.config.sources({ | ||||
|                 { name = 'nvim_lsp' }, | ||||
|                 { name = 'vsnip' }, -- For vsnip users. | ||||
|             }, { | ||||
|                     { name = 'buffer' }, | ||||
|                 }) | ||||
|         }) | ||||
|  | ||||
|         -- Set configuration for specific filetype. | ||||
|         cmp.setup.filetype('gitcommit', { | ||||
|             sources = cmp.config.sources({ | ||||
|                 { name = 'git' }, -- You can specify the `git` source if [you were installed it](https://github.com/petertriho/cmp-git). | ||||
|             }, { | ||||
|                     { name = 'buffer' }, | ||||
|                 }) | ||||
|         }) | ||||
|  | ||||
|         -- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore). | ||||
|         cmp.setup.cmdline({ '/', '?' }, { | ||||
|             mapping = cmp.mapping.preset.cmdline(), | ||||
|             sources = { | ||||
|                 { name = 'buffer' } | ||||
|             } | ||||
|         }) | ||||
|  | ||||
|         -- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore). | ||||
|         cmp.setup.cmdline(':', { | ||||
|             mapping = cmp.mapping.preset.cmdline(), | ||||
|             sources = cmp.config.sources({ | ||||
|                 { name = 'path' } | ||||
|             }, { | ||||
|                     { name = 'cmdline' } | ||||
|                 }) | ||||
|         }) | ||||
|     end | ||||
| } | ||||
							
								
								
									
										11
									
								
								nvim/.config/nvim/lua/plugins/git.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								nvim/.config/nvim/lua/plugins/git.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| return { | ||||
|     { | ||||
|     'tpope/vim-fugitive' | ||||
|     }, | ||||
|     { | ||||
|         'lewis6991/gitsigns.nvim', | ||||
|         config=function () | ||||
|             require('gitsigns').setup {} | ||||
|         end | ||||
|     } | ||||
| } | ||||
							
								
								
									
										10
									
								
								nvim/.config/nvim/lua/plugins/indentation.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								nvim/.config/nvim/lua/plugins/indentation.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| return { | ||||
|     'lukas-reineke/indent-blankline.nvim', | ||||
|     main = "ibl", | ||||
|     config = function () | ||||
|         vim.opt.list = true | ||||
|         vim.opt.listchars:append("eol:↴") | ||||
|         require("ibl").setup { | ||||
|         } | ||||
|     end | ||||
| } | ||||
							
								
								
									
										25
									
								
								nvim/.config/nvim/lua/plugins/lsp.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								nvim/.config/nvim/lua/plugins/lsp.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,25 @@ | ||||
| return { | ||||
|     'VonHeikemen/lsp-zero.nvim', | ||||
|     branch = 'v3.x', | ||||
|     dependencies = { | ||||
|         {'neovim/nvim-lspconfig'}, | ||||
|         {'williamboman/mason.nvim'}, | ||||
|         {'williamboman/mason-lspconfig.nvim'}, | ||||
|     }, | ||||
|     config = function () | ||||
|         local lsp_zero = require('lsp-zero') | ||||
|         lsp_zero.on_attach(function(client, bufnr) | ||||
|             -- see :help lsp-zero-keybindings | ||||
|             -- to learn the available actions | ||||
|             lsp_zero.default_keymaps({buffer = bufnr}) | ||||
|         end) | ||||
|  | ||||
|         require('mason').setup({}) | ||||
|         require('mason-lspconfig').setup({ | ||||
|             ensure_installed = {}, | ||||
|             handlers = { | ||||
|                 lsp_zero.default_setup, | ||||
|             }, | ||||
|         }) | ||||
|     end | ||||
| } | ||||
							
								
								
									
										222
									
								
								nvim/.config/nvim/lua/plugins/lualine.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										222
									
								
								nvim/.config/nvim/lua/plugins/lualine.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,222 @@ | ||||
| return { | ||||
|     "nvim-lualine/lualine.nvim", | ||||
|     dependencies = { | ||||
|         "folke/noice.nvim", | ||||
|         'nvim-tree/nvim-web-devicons', | ||||
|     }, | ||||
|     config = function () | ||||
|         local colors = { | ||||
|             bg = '#202328', | ||||
|             fg = '#bbc2cf', | ||||
|             yellow = '#ECBE7B', | ||||
|             cyan = '#008080', | ||||
|             darkblue = '#081633', | ||||
|             green = '#98be65', | ||||
|             orange = '#FF8800', | ||||
|             violet = '#a9a1e1', | ||||
|             magenta = '#c678dd', | ||||
|             blue = '#51afef', | ||||
|             red = '#ec5f67' | ||||
|         } | ||||
|  | ||||
|         local conditions = { | ||||
|             buffer_not_empty = function() return vim.fn.empty(vim.fn.expand('%:t')) ~= 1 end, | ||||
|             hide_in_width = function() return vim.fn.winwidth(0) > 80 end, | ||||
|             check_git_workspace = function() | ||||
|                 local filepath = vim.fn.expand('%:p:h') | ||||
|                 local gitdir = vim.fn.finddir('.git', filepath .. ';') | ||||
|                 return gitdir and #gitdir > 0 and #gitdir < #filepath | ||||
|             end | ||||
|         } | ||||
|  | ||||
|         -- Config | ||||
|         local config = { | ||||
|             options = { | ||||
|                 -- Disable sections and component separators | ||||
|                 component_separators = "", | ||||
|                 section_separators = "", | ||||
|                 -- theme = 'gruvbox', | ||||
|                 theme = { | ||||
|                     -- We are going to use lualine_c an lualine_x as left and | ||||
|                     -- right section. both are highlighted by c theme .  so we | ||||
|                     -- are just setting default looks o statusline | ||||
|                     normal = {c = {fg = colors.fg, bg = colors.bg}}, | ||||
|                     inactive = {c = {fg = colors.fg, bg = colors.bg}} | ||||
|                 } | ||||
|             }, | ||||
|             sections = { | ||||
|                 -- these are to remove the defaults | ||||
|                 lualine_a = {}, | ||||
|                 lualine_b = {}, | ||||
|                 lualine_y = {}, | ||||
|                 lualine_z = {}, | ||||
|                 -- these will be filled later | ||||
|                 lualine_c = {}, | ||||
|                 lualine_x = { | ||||
|                     { | ||||
|                         require("noice").api.statusline.mode.get, | ||||
|                         cond = require("noice").api.statusline.mode.has, | ||||
|                         color = { fg = "#ff9e64" }, | ||||
|                     } | ||||
|                 } | ||||
|             }, | ||||
|             inactive_sections = { | ||||
|                 -- these are to remove the defaults | ||||
|                 lualine_a = {}, | ||||
|                 lualine_v = {}, | ||||
|                 lualine_y = {}, | ||||
|                 lualine_z = {}, | ||||
|                 lualine_c = {}, | ||||
|                 lualine_x = {} | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         -- inserts a component in lualine_c at left section | ||||
|         local function ins_left(component) | ||||
|             table.insert(config.sections.lualine_c, component) | ||||
|         end | ||||
|  | ||||
|         -- inserts a component in lualine_x ot right section | ||||
|         local function ins_right(component) | ||||
|             table.insert(config.sections.lualine_x, component) | ||||
|         end | ||||
|  | ||||
|         local mode_color = { | ||||
|             n = colors.red, | ||||
|             i = colors.green, | ||||
|             v = colors.blue, | ||||
|             [''] = colors.blue, | ||||
|             v = colors.blue, | ||||
|             c = colors.magenta, | ||||
|             no = colors.red, | ||||
|             s = colors.orange, | ||||
|             s = colors.orange, | ||||
|             [''] = colors.orange, | ||||
|             ic = colors.yellow, | ||||
|             r = colors.violet, | ||||
|             rv = colors.violet, | ||||
|             cv = colors.red, | ||||
|             ce = colors.red, | ||||
|             r = colors.cyan, | ||||
|             rm = colors.cyan, | ||||
|             ['r?'] = colors.cyan, | ||||
|             ['!'] = colors.red, | ||||
|             t = colors.red | ||||
|         } | ||||
|  | ||||
|         ins_left { | ||||
|             -- mode component | ||||
|             function() | ||||
|                 -- auto change color according to neovims mode | ||||
|                 vim.api.nvim_command( | ||||
|                 'hi! lualinemode guifg=' .. mode_color[vim.fn.mode()] .. " guibg=" .. colors.bg) | ||||
|                 return '' | ||||
|             end, | ||||
|             color = "lualinemode", | ||||
|             left_padding = 0 | ||||
|         } | ||||
|  | ||||
|         ins_left { | ||||
|             "mode", | ||||
|             color = {fg = colors.green, gui = 'bold'} | ||||
|         } | ||||
|  | ||||
|         ins_left { | ||||
|             -- filesize component | ||||
|             function() | ||||
|                 local function format_file_size(file) | ||||
|                     local size = vim.fn.getfsize(file) | ||||
|                     if size <= 0 then return '' end | ||||
|                     local sufixes = {'b', 'k', 'm', 'g'} | ||||
|                     local i = 1 | ||||
|                     while size > 1024 do | ||||
|                         size = size / 1024 | ||||
|                         i = i + 1 | ||||
|                     end | ||||
|                     return string.format('%.1f%s', size, sufixes[i]) | ||||
|                 end | ||||
|                 local file = vim.fn.expand('%:p') | ||||
|                 if string.len(file) == 0 then return '' end | ||||
|                 return format_file_size(file) | ||||
|             end, | ||||
|             condition = conditions.buffer_not_empty | ||||
|         } | ||||
|         ins_left { | ||||
|             -- Lsp server name . | ||||
|             function() | ||||
|                 local msg = 'No Active Lsp' | ||||
|                 local buf_ft = vim.api.nvim_buf_get_option(0, 'filetype') | ||||
|                 local clients = vim.lsp.get_active_clients() | ||||
|                 if next(clients) == nil then return msg end | ||||
|                 for _, client in ipairs(clients) do | ||||
|                     local filetypes = client.config.filetypes | ||||
|                     if filetypes and vim.fn.index(filetypes, buf_ft) ~= -1 then | ||||
|                         return client.name | ||||
|                     end | ||||
|                 end | ||||
|                 return msg | ||||
|             end, | ||||
|             icon = ' LSP:', | ||||
|             color = {fg = '#ffffff', gui = 'bold'} | ||||
|         } | ||||
|  | ||||
|         ins_left { | ||||
|             'diagnostics', | ||||
|             sources = {'nvim_diagnostic'}, | ||||
|             symbols = {error = ' ', warn = ' ', info = ' '}, | ||||
|             color_error = colors.red, | ||||
|             color_warn = colors.yellow, | ||||
|             color_info = colors.cyan | ||||
|         } | ||||
|  | ||||
|         -- Insert mid section. You can make any number of sections in neovim :) | ||||
|         -- for lualine it's any number greater then 2 | ||||
|         ins_left {function() return '%=' end} | ||||
|  | ||||
|         ins_left { | ||||
|             'filename', | ||||
|             file_status = true, | ||||
|             path = 1, | ||||
|             condition = conditions.buffer_not_empty, | ||||
|             color = {fg = colors.magenta, gui = 'bold'} | ||||
|         } | ||||
|  | ||||
|         -- Add components to right sections | ||||
|         ins_right { | ||||
|             'o:encoding', -- option component same as &encoding in viml | ||||
|             upper = true, -- I'm not sure why it's upper case either ;) | ||||
|             condition = conditions.hide_in_width, | ||||
|             color = {fg = colors.green, gui = 'bold'} | ||||
|         } | ||||
|  | ||||
|         ins_right { | ||||
|             'fileformat', | ||||
|             upper = true, | ||||
|             icons_enabled = false, -- I think icons are cool but Eviline doesn't have them. sigh | ||||
|             color = {fg = colors.green, gui = 'bold'} | ||||
|         } | ||||
|  | ||||
|         ins_right { | ||||
|             'branch', | ||||
|             icon = '', | ||||
|             condition = conditions.check_git_workspace, | ||||
|             color = {fg = colors.violet, gui = 'bold'} | ||||
|         } | ||||
|  | ||||
|         ins_right { | ||||
|             'diff', | ||||
|             -- Is it me or the symbol for modified us really weird | ||||
|             symbols = {added = ' ', modified = '柳 ', removed = ' '}, | ||||
|             color_added = colors.green, | ||||
|             color_modified = colors.orange, | ||||
|             color_removed = colors.red, | ||||
|             condition = conditions.hide_in_width | ||||
|         } | ||||
|  | ||||
|         ins_right {'location'} | ||||
|  | ||||
|         ins_right {'progress', color = {fg = colors.fg, gui = 'bold'}} | ||||
|  | ||||
|         require('lualine').setup(config) | ||||
|     end | ||||
| } | ||||
							
								
								
									
										6
									
								
								nvim/.config/nvim/lua/plugins/misc.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								nvim/.config/nvim/lua/plugins/misc.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| return { | ||||
|     'tpope/vim-surround', | ||||
|     'tpope/vim-repeat', | ||||
|     'tpope/vim-abolish', | ||||
|     'machakann/vim-highlightedyank' | ||||
| } | ||||
							
								
								
									
										10
									
								
								nvim/.config/nvim/lua/plugins/oil.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								nvim/.config/nvim/lua/plugins/oil.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| return { | ||||
|     'stevearc/oil.nvim', | ||||
|     dependencies = { "nvim-tree/nvim-web-devicons" }, | ||||
|     keys = { | ||||
|         {"-", "<cmd>Oil<cr>", desc="Open parent directory"}, | ||||
|     }, | ||||
|     config = function() | ||||
|         require("oil").setup() | ||||
|     end | ||||
| } | ||||
							
								
								
									
										27
									
								
								nvim/.config/nvim/lua/plugins/telescope.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								nvim/.config/nvim/lua/plugins/telescope.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,27 @@ | ||||
| return { | ||||
|     'nvim-telescope/telescope.nvim', branch = '0.1.x', | ||||
|     dependencies = { 'nvim-lua/plenary.nvim' }, | ||||
|     opts = { | ||||
|       defaults = { | ||||
|         file_ignore_patterns = { "**/*.pdf" }, | ||||
|         layout_strategy = "horizontal", | ||||
|         layout_config = { prompt_position = "top" }, | ||||
|         sorting_strategy = "ascending", | ||||
|         winblend = 0, | ||||
|       }, | ||||
|     }, | ||||
|     keys = { | ||||
|         {"<leader>ff", "<cmd>Telescope find_files<cr>", desc = "Find files"}, | ||||
|         {"<leader>fe", "<cmd>Telescope git_files<cr>", desc = "Find file respecting .gitignore"}, | ||||
|         {"<leader>fg", "<cmd>Telescope live_grep<cr>", desc = "Grep file in file"}, | ||||
|         {"<leader>fb", "<cmd>Telescope buffers<cr>", desc = "Search through buffers"}, | ||||
|         {"<leader>ft", "<cmd>Telescope tags<cr>", desc = "Search through tags"}, | ||||
|         {"<leader>fm", "<cmd>Telescope marks<cr>", desc = "Search through marks"}, | ||||
|         {"<leader>fs", "<cmd>Telescope search_history<cr>", desc = "Search through search"}, | ||||
|     }, | ||||
|     config = function() | ||||
|         require('telescope').setup( | ||||
|  | ||||
|         ) | ||||
|     end | ||||
| } | ||||
							
								
								
									
										14
									
								
								nvim/.config/nvim/lua/plugins/treesitter.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								nvim/.config/nvim/lua/plugins/treesitter.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | ||||
| return { | ||||
|         "nvim-treesitter/nvim-treesitter", | ||||
|     build = ":TSUpdate", | ||||
|     config = function ()  | ||||
|       local configs = require("nvim-treesitter.configs") | ||||
|  | ||||
|       configs.setup({ | ||||
|           ensure_installed = { "lua", "vim", "vimdoc", "javascript", "html", "python", "dockerfile", "latex", "yaml", "regex", "bash", "markdown", "markdown_inline" }, | ||||
|           sync_install = false, | ||||
|           highlight = { enable = true }, | ||||
|           indent = { enable = true },   | ||||
|         }) | ||||
|     end | ||||
| } | ||||
							
								
								
									
										8
									
								
								nvim/.config/nvim/lua/plugins/ui.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								nvim/.config/nvim/lua/plugins/ui.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | ||||
| return { | ||||
|     "folke/noice.nvim", | ||||
|     event = "VeryLazy", | ||||
|     dependencies = { | ||||
|         "MunifTanjim/nui.nvim", | ||||
|         "rcarriga/nvim-notify", | ||||
|     } | ||||
| } | ||||
							
								
								
									
										3
									
								
								nvim/.config/nvim/lua/plugins/vim-tmux-navigator.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								nvim/.config/nvim/lua/plugins/vim-tmux-navigator.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| return { | ||||
|      'christoomey/vim-tmux-navigator', | ||||
| } | ||||
							
								
								
									
										13
									
								
								nvim/.config/nvim/lua/plugins/which-key.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								nvim/.config/nvim/lua/plugins/which-key.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | ||||
| return { | ||||
|     "folke/which-key.nvim", | ||||
|     event = "VeryLazy", | ||||
|     init = function() | ||||
|         vim.o.timeout = true | ||||
|         vim.o.timeoutlen = 300 | ||||
|     end, | ||||
|     opts = { | ||||
|         -- your configuration comes here | ||||
|         -- or leave it empty to use the default settings | ||||
|         -- refer to the configuration section below | ||||
|     } | ||||
| } | ||||
							
								
								
									
										52
									
								
								nvim/.config/nvim/lua/settings.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								nvim/.config/nvim/lua/settings.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,52 @@ | ||||
| local cmd = vim.cmd             -- execute Vim commands | ||||
| local exec = vim.api.nvim_exec         -- execute Vimscript | ||||
| -- local fn = vim.fn               -- call Vim functions | ||||
| local g = vim.g                 -- global variables | ||||
| local opt = vim.opt                 -- global/buffer/windows-scoped options | ||||
|  | ||||
| g.showmode = true | ||||
| g.hidden = true                 -- Required to keep multiple buffers open multiple buffers | ||||
| opt.mouse = 'a'                -- enable mouse | ||||
| opt.clipboard = 'unnamedplus'        -- copy/paste with system | ||||
| opt.swapfile = false            -- no swapfile | ||||
|  | ||||
| opt.wrap = true             -- Display long lines as just one line | ||||
| opt.expandtab = true             -- Use space instead of tabs | ||||
| opt.tabstop = 4             -- Insert 4 spaces for a tab | ||||
| opt.shiftwidth = 4            -- Change the number of space characters inserted for indentation | ||||
| opt.smarttab = true             -- Makes tabbing smarter will realize you have 2 vs 4 | ||||
| opt.autoindent = true                   -- Good auto indent | ||||
| opt.foldmethod='indent' | ||||
|  | ||||
| opt.number = true             -- show line number | ||||
| opt.relativenumber = true         -- show relative line number | ||||
| opt.cursorline = true             -- highlight current line | ||||
|  | ||||
| opt.ignorecase = true             -- Ignore case on search | ||||
| opt.smartcase = true             -- ignore lowercse for the whoel pattern | ||||
|  | ||||
| opt.completeopt = 'menuone,noselect,noinsert' -- completion options | ||||
|  | ||||
| opt.spell = true | ||||
| opt.spelllang = {'fr', 'en'} | ||||
|  | ||||
| opt.nrformats = opt.nrformats + 'alpha' | ||||
|  | ||||
| g.showtabline = true | ||||
|  | ||||
| -- don't auto commenting new lines | ||||
| cmd[[au BufEnter * set fo-=c fo-=r fo-=o]] | ||||
|  | ||||
| opt.showmatch = true            -- show parenthethis match | ||||
|  | ||||
| -- Highlight on yank | ||||
| exec([[ | ||||
|   augroup YankHighlight | ||||
|     autocmd! | ||||
|     autocmd TextYankPost * silent! lua vim.highlight.on_yank{higroup="IncSearch", timeout=700} | ||||
|   augroup end | ||||
| ]], false) | ||||
|  | ||||
|  | ||||
| -- Python 3 | ||||
| g.python3_host_prog="~/.venv/nvim/bin/python" | ||||
| @@ -1,10 +0,0 @@ | ||||
| let g:lightline = { | ||||
|             \ 'colorscheme': 'wombat', | ||||
|             \ 'active': { | ||||
|             \   'left': [ [ 'mode', 'paste' ], | ||||
|             \             [ 'gitbranch', 'readonly', 'relativepath', 'modified'] ] | ||||
|             \ }, | ||||
|             \ 'component_function': { | ||||
|             \   'gitbranch': 'FugitiveHead' | ||||
|             \ }, | ||||
|             \ } | ||||
| @@ -1,101 +0,0 @@ | ||||
| let g:compe = {} | ||||
| let g:compe.enabled = v:true | ||||
| let g:compe.autocomplete = v:true | ||||
| let g:compe.debug = v:false | ||||
| let g:compe.min_length = 1 | ||||
| let g:compe.preselect = 'enable' | ||||
| let g:compe.throttle_time = 80 | ||||
| let g:compe.source_timeout = 200 | ||||
| let g:compe.resolve_timeout = 800 | ||||
| let g:compe.incomplete_delay = 400 | ||||
| let g:compe.max_abbr_width = 100 | ||||
| let g:compe.max_kind_width = 100 | ||||
| let g:compe.max_menu_width = 100 | ||||
| let g:compe.documentation = v:true | ||||
|  | ||||
| let g:compe.source = {} | ||||
| let g:compe.source.path = v:true | ||||
| let g:compe.source.buffer = v:true | ||||
| let g:compe.source.calc = v:true | ||||
| let g:compe.source.nvim_lsp = v:true | ||||
| let g:compe.source.nvim_lua = v:true | ||||
| let g:compe.source.vsnip = v:true | ||||
| let g:compe.source.ultisnips = v:true | ||||
| let g:compe.source.luasnip = v:true | ||||
| let g:compe.source.emoji = v:false | ||||
|  | ||||
| " NOTE: You can use other key to expand snippet. | ||||
|  | ||||
|  | ||||
| " Expand | ||||
| imap <expr> <C-j>   vsnip#expandable()  ? '<Plug>(vsnip-expand)'         : '<C-j>' | ||||
| smap <expr> <C-j>   vsnip#expandable()  ? '<Plug>(vsnip-expand)'         : '<C-j>' | ||||
|  | ||||
| " Expand or jump | ||||
| imap <expr> <C-l>   vsnip#available(1)  ? '<Plug>(vsnip-expand-or-jump)' : '<C-l>' | ||||
| smap <expr> <C-l>   vsnip#available(1)  ? '<Plug>(vsnip-expand-or-jump)' : '<C-l>' | ||||
|  | ||||
| " Jump forward or backward | ||||
| imap <expr> <Tab>   vsnip#jumpable(1)   ? '<Plug>(vsnip-jump-next)'      : '<Tab>' | ||||
| smap <expr> <Tab>   vsnip#jumpable(1)   ? '<Plug>(vsnip-jump-next)'      : '<Tab>' | ||||
| imap <expr> <S-Tab> vsnip#jumpable(-1)  ? '<Plug>(vsnip-jump-prev)'      : '<S-Tab>' | ||||
| smap <expr> <S-Tab> vsnip#jumpable(-1)  ? '<Plug>(vsnip-jump-prev)'      : '<S-Tab>' | ||||
|  | ||||
| " Select or cut text to use as $TM_SELECTED_TEXT in the next snippet. | ||||
| " See https://github.com/hrsh7th/vim-vsnip/pull/50 | ||||
| nmap        s   <Plug>(vsnip-select-text) | ||||
| xmap        s   <Plug>(vsnip-select-text) | ||||
| nmap        S   <Plug>(vsnip-cut-text) | ||||
| xmap        S   <Plug>(vsnip-cut-text) | ||||
|  | ||||
| " " If you want to use snippet for multiple filetypes, you can `g:vsnip_filetypes` for it. | ||||
| " let g:vsnip_filetypes = {} | ||||
| " let g:vsnip_filetypes.javascriptreact = ['javascript'] | ||||
| " let g:vsnip_filetypes.typescriptreact = ['typescript'] | ||||
|  | ||||
| lua << EOF | ||||
| local t = function(str) | ||||
|   return vim.api.nvim_replace_termcodes(str, true, true, true) | ||||
| end | ||||
|  | ||||
| local check_back_space = function() | ||||
|     local col = vim.fn.col('.') - 1 | ||||
|     if col == 0 or vim.fn.getline('.'):sub(col, col):match('%s') then | ||||
|         return true | ||||
|     else | ||||
|         return false | ||||
|     end | ||||
| end | ||||
|  | ||||
| -- Use (s-)tab to: | ||||
| --- move to prev/next item in completion menuone | ||||
| --- jump to prev/next snippet's placeholder | ||||
| _G.tab_complete = function() | ||||
|   if vim.fn.pumvisible() == 1 then | ||||
|     return t "<C-n>" | ||||
|   elseif check_back_space() then | ||||
|     return t "<Tab>" | ||||
|   else | ||||
|     return vim.fn['compe#complete']() | ||||
|   end | ||||
| end | ||||
| _G.s_tab_complete = function() | ||||
|   if vim.fn.pumvisible() == 1 then | ||||
|     return t "<C-p>" | ||||
|   else | ||||
|     return t "<S-Tab>" | ||||
|   end | ||||
| end | ||||
|  | ||||
| vim.api.nvim_set_keymap("i", "<Tab>", "v:lua.tab_complete()", {expr = true}) | ||||
| vim.api.nvim_set_keymap("s", "<Tab>", "v:lua.tab_complete()", {expr = true}) | ||||
| vim.api.nvim_set_keymap("i", "<S-Tab>", "v:lua.s_tab_complete()", {expr = true}) | ||||
| vim.api.nvim_set_keymap("s", "<S-Tab>", "v:lua.s_tab_complete()", {expr = true}) | ||||
|  | ||||
| --This line is important for auto-import | ||||
| vim.api.nvim_set_keymap('i', '<cr>', 'compe#confirm("<cr>")', { expr = true }) | ||||
| vim.api.nvim_set_keymap('i', '<c-space>', 'compe#complete()', { expr = true }) | ||||
| EOF | ||||
|  | ||||
| let g:vsnip_snippet_dir = expand('~/.config/nvim/vsnips') | ||||
|  | ||||
| @@ -1,48 +0,0 @@ | ||||
| " auto-install vim-plug | ||||
| if empty(glob('~/.config/nvim/autoload/plug.vim')) | ||||
|   silent !curl -fLo ~/.config/nvim/autoload/plug.vim --create-dirs | ||||
|     \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim | ||||
|   "autocmd VimEnter * PlugInstall | ||||
|   "autocmd VimEnter * PlugInstall | source $MYVIMRC | ||||
| endif | ||||
|  | ||||
| call plug#begin('~/.config/nvim/autoload/plugged') | ||||
|  | ||||
|     Plug 'jnurmine/Zenburn' | ||||
|     Plug 'itchyny/lightline.vim' | ||||
|  | ||||
|     "Plug 'tpope/vim-sensible' | ||||
|     Plug 'tpope/vim-fugitive' | ||||
|     Plug 'mhinz/vim-signify' | ||||
|     Plug 'tpope/vim-surround' | ||||
|     Plug 'tpope/vim-repeat' | ||||
|  | ||||
|     Plug 'junegunn/goyo.vim' | ||||
|     Plug 'christoomey/vim-tmux-navigator' | ||||
|     Plug 'Yggdroot/indentLine' | ||||
|  | ||||
|     " Plug 'SirVer/ultisnips' | ||||
|     " Plug 'honza/vim-snippets' | ||||
|     Plug 'neovim/nvim-lspconfig' | ||||
|     Plug 'hrsh7th/nvim-compe' | ||||
|     Plug 'hrsh7th/vim-vsnip' | ||||
|     Plug 'hrsh7th/vim-vsnip-integ' | ||||
|     Plug 'rafamadriz/friendly-snippets' | ||||
|  | ||||
|     " Plug 'nvim-lua/completion-nvim' | ||||
|  | ||||
|     Plug 'nvim-lua/popup.nvim' | ||||
|     Plug 'nvim-lua/plenary.nvim' | ||||
|     Plug 'nvim-telescope/telescope.nvim' | ||||
|  | ||||
|     Plug 'lervag/vimtex' | ||||
|  | ||||
|     " Highlight on Yank  | ||||
|     Plug 'machakann/vim-highlightedyank' | ||||
|     "  Autoclose parenthesis | ||||
|     " Plug 'cohama/lexima.vim' | ||||
|     Plug 'jiangmiao/auto-pairs' | ||||
|  | ||||
|     " Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'} | ||||
|  | ||||
| call plug#end() | ||||
| @@ -1,25 +0,0 @@ | ||||
| let maplocalleader = "\<Space>" | ||||
|  | ||||
| let g:tex_conceal = "" | ||||
| set conceallevel=0 | ||||
|  | ||||
| let g:vimtex_compiler_latexmk = { | ||||
|             \ 'backend' : 'nvim', | ||||
|             \ 'background' : 1, | ||||
|             \ 'build_dir' : '', | ||||
|             \ 'callback' : 0, | ||||
|             \ 'continuous' : 1, | ||||
|             \ 'options' : [ | ||||
|             \   '-pdf', | ||||
|             \   '-verbose', | ||||
|             \   '-file-line-error', | ||||
|             \   '-synctex=1', | ||||
|             \   '-interaction=nonstopmode', | ||||
|             \   '-silent', | ||||
|             \   '-shell-escape', | ||||
|             \ ], | ||||
|             \} | ||||
| let g:vimtex_view_method = 'zathura' | ||||
|  | ||||
| " Les fichiers sty et cls sont vus comme des fichiers tex | ||||
| autocmd BufRead,BufNewFile *.{sty,cls} setlocal syntax=tex | ||||
| @@ -1,20 +0,0 @@ | ||||
| { | ||||
|     "image": { | ||||
|         "prefix": "image", | ||||
|         "body": [ | ||||
|             ".. image:: $1", | ||||
|             "\t:height: 200px", | ||||
|             "\t:alt: $2", | ||||
|             "$0" | ||||
|         ], | ||||
|         "description": "Insert image" | ||||
|     }, | ||||
|     "etape": { | ||||
|         "prefix": ["etape", "étape"], | ||||
|         "body": [ | ||||
|             "Étape ${1:1}: $2", | ||||
|             "$0" | ||||
|         ], | ||||
|         "description": "Insert image" | ||||
|     } | ||||
| } | ||||
| @@ -1,31 +0,0 @@ | ||||
| { | ||||
|     "tabular": { | ||||
|         "prefix": "tabular", | ||||
|         "body": [ | ||||
|             "\\\\begin{tabular}{$1}", | ||||
|             "\\\\hline", | ||||
|             "\t$0", | ||||
|             "\\\\hline", | ||||
|             "\\\\end{tabular}" | ||||
|         ], | ||||
|         "description": "tabular" | ||||
|     }, | ||||
|     "center": { | ||||
|         "prefix": "center", | ||||
|         "body": [ | ||||
|             "\\\\begin{center}", | ||||
|             "\t$0", | ||||
|             "\\\\end{center}" | ||||
|         ], | ||||
|         "description": "center" | ||||
|     }, | ||||
|     "minipage": { | ||||
|         "prefix": "minipage", | ||||
|         "body": [ | ||||
|             "\\\\begin{minipage}{${1:0.5}${2:\\\\linewidth}}", | ||||
|             "\t$0", | ||||
|             "\\\\end{minipage}" | ||||
|         ], | ||||
|         "description": "minipage" | ||||
|     } | ||||
| } | ||||
							
								
								
									
										2
									
								
								nvim/.latexmkrc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								nvim/.latexmkrc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| $pdf_mode = 4; | ||||
| $lualatex='lualatex --interaction=nonstopmode -shell-escape'; | ||||
							
								
								
									
										5
									
								
								qtile/.config/qtile/autostart.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										5
									
								
								qtile/.config/qtile/autostart.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,5 @@ | ||||
| #!/bin/sh | ||||
| nm-applet & | ||||
| pasystray & | ||||
| nextcloud & | ||||
| xrandr --output VGA-1 --off --output HDMI-1 --mode 1920x1080 --pos 1080x420 --rotate normal --output DP-1 --off --output HDMI-2 --mode 1920x1080 --pos 0x0 --rotate left --output DP-2 --off | ||||
							
								
								
									
										267
									
								
								qtile/.config/qtile/config.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										267
									
								
								qtile/.config/qtile/config.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,267 @@ | ||||
| # Copyright (c) 2010 Aldo Cortesi | ||||
| # Copyright (c) 2010, 2014 dequis | ||||
| # Copyright (c) 2012 Randall Ma | ||||
| # Copyright (c) 2012-2014 Tycho Andersen | ||||
| # Copyright (c) 2012 Craig Barnes | ||||
| # Copyright (c) 2013 horsik | ||||
| # Copyright (c) 2013 Tao Sauvage | ||||
| # | ||||
| # Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
| # of this software and associated documentation files (the "Software"), to deal | ||||
| # in the Software without restriction, including without limitation the rights | ||||
| # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
| # copies of the Software, and to permit persons to whom the Software is | ||||
| # furnished to do so, subject to the following conditions: | ||||
| # | ||||
| # The above copyright notice and this permission notice shall be included in | ||||
| # all copies or substantial portions of the Software. | ||||
| # | ||||
| # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
| # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
| # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
| # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
| # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
| # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
| # SOFTWARE. | ||||
|  | ||||
| from libqtile.config import Key, Screen, Group, Drag, Click, ScratchPad, DropDown | ||||
| from libqtile.command import lazy | ||||
| from libqtile import layout, bar, widget, extension, hook | ||||
| from libqtile.log_utils import logger | ||||
| from os.path import expanduser | ||||
| from subprocess import call | ||||
|  | ||||
|  | ||||
| from typing import List  # noqa: F401 | ||||
|  | ||||
| wmname = "???" | ||||
| MOD = "mod4" | ||||
| TERM = "urxvt" | ||||
|  | ||||
| # Base16 - hybrid (with 5 and 13 from jmbi) | ||||
| colors = { | ||||
|     # special | ||||
|     "FG": "#c5c8c6", | ||||
|     "BG": "#1d1f21", | ||||
|     "C": "#c5c8c6", | ||||
|     # black | ||||
|     0: "#282a2e", | ||||
|     8: "#373b41", | ||||
|     # red | ||||
|     1: "#a54242", | ||||
|     9: "#cc6666", | ||||
|     # green | ||||
|     2: "#8c9440", | ||||
|     10: "#b5bd68", | ||||
|     # yellow | ||||
|     3: "#de935f", | ||||
|     11: "#f0c674", | ||||
|     # blue | ||||
|     4: "#5f819d", | ||||
|     12: "#81a2be", | ||||
|     # magenta | ||||
|     5: "#d13516", | ||||
|     13: "#c25431", | ||||
|     # cyan | ||||
|     6: "#5e8d87", | ||||
|     14: "#8abeb7", | ||||
|     # white | ||||
|     7: "#707880", | ||||
|     15: "#c5c8c6", | ||||
| } | ||||
|  | ||||
| keys = [ | ||||
|     Key([MOD], "f", lazy.window.toggle_floating()), | ||||
|     # Moving inside a screen | ||||
|     Key([MOD], "Tab", lazy.layout.next()), | ||||
|     Key([MOD], "j", lazy.layout.down()), | ||||
|     Key([MOD], "k", lazy.layout.up()), | ||||
|     Key([MOD, "shift"], "Tab", lazy.layout.rotate()), | ||||
|     # Key([MOD, "shift"], "Tab", lazy.spawncmd()), # circle inside layout | ||||
|     Key([MOD, "shift"], "k", lazy.layout.shuffle_up()), | ||||
|     Key([MOD, "shift"], "j", lazy.layout.shuffle_down()), | ||||
|     # Move between screens | ||||
|     Key([MOD], "l", lazy.to_screen(0)), | ||||
|     Key([MOD], "h", lazy.to_screen(1)), | ||||
|     # Key([MOD, "shift"], "l", move to screen 1), | ||||
|     # Key([MOD, "shift"], "h", move to screen 0), | ||||
|     # Toggle between different layouts as defined below | ||||
|     Key([MOD], "space", lazy.next_layout()), | ||||
|     # Toggle between split and unsplit sides of stack. | ||||
|     # Split = all windows displayed | ||||
|     # Unsplit = 1 window displayed, like Max layout, but still with | ||||
|     # multiple stack panes | ||||
|     # Key([MOD, "shift"], "Return", lazy.layout.toggle_split()), | ||||
|     # Swap panes of split stack | ||||
|     # Key([MOD, "shift"], "space", lazy.layout.rotate()), | ||||
|     # Screens | ||||
|     Key([MOD], "r", lazy.spawncmd()), | ||||
|     # Key([MOD], 'r', lazy.run_extension(extension.DmenuRun( | ||||
|     #     dmenu_prompt=">", | ||||
|     #     dmenu_font="Andika-8", | ||||
|     #     background="#15181a", | ||||
|     #     foreground="#00ff00", | ||||
|     #     selected_background="#079822", | ||||
|     #     selected_foreground="#fff", | ||||
|     #     dmenu_height=24,  # Only supported by some dmenu forks | ||||
|     # ))), | ||||
|     Key([MOD], "Return", lazy.spawn(TERM)), | ||||
|     Key([MOD], "q", lazy.window.kill()), | ||||
|     Key([MOD, "control"], "r", lazy.restart()), | ||||
|     Key([MOD, "control"], "q", lazy.shutdown()), | ||||
|     Key([MOD, "control"], "equal", lazy.spawn("systemctl suspend")), | ||||
|     # Change the volume if our keyboard has keys | ||||
|     Key([], "XF86AudioRaiseVolume", lazy.spawn("pamixer -i 2")), | ||||
|     Key([], "XF86AudioLowerVolume", lazy.spawn("pamixer -d 2")), | ||||
|     Key([], "XF86AudioMute", lazy.spawn("pamixer -t")), | ||||
| ] | ||||
|  | ||||
| groups = [ | ||||
|     Group("t:", spawn="firefox", layout="Tall", persist=True), | ||||
|     Group("y:", spawn="thunderbird", layout="verticaltile", persist=True), | ||||
|     Group("u:", spawn=TERM+" -e sh -c tmuxp load enseignement", layout="TallRight", persist=True), | ||||
|     Group("i:", layout="Wide", persist=True), | ||||
|     Group("o:", layout="TallRight", persist=True), | ||||
|     Group("p:", layout="Wide", persist=True), | ||||
| ] | ||||
|  | ||||
| groups_keys = ["t", "y", "u", "i", "o", "p"] | ||||
|  | ||||
| for i, g in enumerate(groups): | ||||
|     k = groups_keys[i] | ||||
|     keys.extend( | ||||
|         [ | ||||
|             # mod1 + letter of group = switch to group | ||||
|             Key([MOD], k, lazy.group[g.name].toscreen()), | ||||
|             # mod1 + shift + letter of group = switch to & move focused window to group | ||||
|             Key( | ||||
|                 [MOD, "shift"], k, lazy.window.togroup(g.name) | ||||
|             ),  # , lazy.group[g.name].toscreen()), | ||||
|         ] | ||||
|     ) | ||||
|  | ||||
| groups.append( | ||||
|     ScratchPad( | ||||
|         "scratchpad", | ||||
|         [ | ||||
|             DropDown( | ||||
|                 "music", TERM+" -e sh -c mocp", x=0.25, y=0.25, height=0.5, width=0.5, opacity=0.8 | ||||
|             ), | ||||
|         ], | ||||
|     ), | ||||
| ) | ||||
|  | ||||
| keys.extend( | ||||
|     [ | ||||
|         Key([MOD], "m", lazy.group["scratchpad"].dropdown_toggle("music")), | ||||
|     ] | ||||
| ) | ||||
|  | ||||
| borders = { | ||||
|     "border_focus": colors[13], | ||||
|     "border_normal": colors["BG"], | ||||
| } | ||||
|  | ||||
| layouts = [ | ||||
|     layout.Max(), | ||||
|     layout.VerticalTile(**borders), | ||||
|     layout.MonadTall( | ||||
|         name="Tall", | ||||
|         align=0, | ||||
|         ratio=0.5, | ||||
|         **borders, | ||||
|     ), | ||||
|     layout.MonadTall( | ||||
|         name="TallRight", | ||||
|         align=0, | ||||
|         ratio=0.7, | ||||
|         **borders, | ||||
|     ), | ||||
|     layout.MonadWide( | ||||
|         name="Wide", | ||||
|         ratio=0.8, | ||||
|         **borders, | ||||
|     ), | ||||
| ] | ||||
|  | ||||
|  | ||||
| widget_defaults = dict( | ||||
|     font="DroidSans", | ||||
|     fontsize=12, | ||||
|     padding=3, | ||||
| ) | ||||
| extension_defaults = widget_defaults.copy() | ||||
|  | ||||
| screens = [ | ||||
|     Screen(), | ||||
|     Screen( | ||||
|         top=bar.Bar( | ||||
|             [ | ||||
|                 widget.GroupBox( | ||||
|                     active=colors["FG"], | ||||
|                     foreground=colors[8], | ||||
|                     highlight_color=[colors[1], colors[13]], | ||||
|                     highlight_method="border", | ||||
|                     this_current_screen_border=colors[13], | ||||
|                     this_screen_border=colors[8], | ||||
|                     other_current_screen_border=colors[13], | ||||
|                     other_screen_border=colors[8], | ||||
|                 ), | ||||
|                 widget.Prompt( | ||||
|                     background=colors[13], | ||||
|                 ), | ||||
|                 # widget.WindowName(), | ||||
|                 widget.Spacer(bar.STRETCH), | ||||
|                 widget.Clock( | ||||
|                     format="%a %d %B %Y %H:%M", | ||||
|                     background=colors[13], | ||||
|                     foreground=colors[15], | ||||
|                 ), | ||||
|                 widget.Systray(), | ||||
|                 # widget.CurrentLayoutIcon(scale=0.5), | ||||
|             ], | ||||
|             size=24, | ||||
|             background=colors["BG"], | ||||
|         ), | ||||
|     ), | ||||
| ] | ||||
|  | ||||
| # Drag floating layouts. | ||||
| mouse = [ | ||||
|     Drag( | ||||
|         [MOD], | ||||
|         "Button1", | ||||
|         lazy.window.set_position_floating(), | ||||
|         start=lazy.window.get_position(), | ||||
|     ), | ||||
|     Drag( | ||||
|         [MOD], "Button3", lazy.window.set_size_floating(), start=lazy.window.get_size() | ||||
|     ), | ||||
|     Click([MOD], "Button2", lazy.window.bring_to_front()), | ||||
| ] | ||||
|  | ||||
| dgroups_key_binder = None | ||||
| dgroups_app_rules = []  # type: List | ||||
| main = None | ||||
| follow_mouse_focus = True | ||||
| bring_front_click = False | ||||
| cursor_warp = False | ||||
| auto_fullscreen = True | ||||
| focus_on_window_activation = "smart" | ||||
|  | ||||
| @hook.subscribe.client_new | ||||
| def floating_dialogs(window): | ||||
|     dialog = window.window.get_wm_type() == 'dialog' | ||||
|     transient = window.window.get_wm_transient_for() | ||||
|     if dialog or transient: | ||||
|         window.floating = True | ||||
|  | ||||
| @hook.subscribe.startup_once | ||||
| def autostart(): | ||||
|     home = expanduser("~") | ||||
|     call([home + "/.config/qtile/autostart.sh"]) | ||||
|  | ||||
|  | ||||
| @hook.subscribe.screen_change | ||||
| def restart_on_randr(qtile): | ||||
|     qtile.cmd_restart() | ||||
							
								
								
									
										2
									
								
								qtile/.config/qtile/dualscreen.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										2
									
								
								qtile/.config/qtile/dualscreen.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| #!/bin/sh | ||||
| xrandr --output VGA-1 --off --output HDMI-1 --mode 1920x1080 --pos 1080x420 --rotate normal --output DP-1 --off --output HDMI-2 --mode 1920x1080 --pos 0x0 --rotate left --output DP-2 --off | ||||
							
								
								
									
										19
									
								
								qutebrowser/.config/qutebrowser/autoconfig.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								qutebrowser/.config/qutebrowser/autoconfig.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | ||||
| # If a config.py file exists, this file is ignored unless it's explicitly loaded | ||||
| # via config.load_autoconfig(). For more information, see: | ||||
| # https://github.com/qutebrowser/qutebrowser/blob/master/doc/help/configuring.asciidoc#loading-autoconfigyml | ||||
| # DO NOT edit this file by hand, qutebrowser will overwrite it. | ||||
| # Instead, create a config.py - see :help for details. | ||||
|  | ||||
| config_version: 2 | ||||
| settings: | ||||
|   auto_save.session: | ||||
|     global: true | ||||
|   content.blocking.method: | ||||
|     global: both | ||||
|   content.geolocation: | ||||
|     https://www.reseau-canope.fr: false | ||||
|   spellcheck.languages: | ||||
|     global: | ||||
|     - fr-FR | ||||
|   zoom.default: | ||||
|     global: 120% | ||||
							
								
								
									
										0
									
								
								qutebrowser/.config/qutebrowser/bookmarks/urls
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								qutebrowser/.config/qutebrowser/bookmarks/urls
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										2
									
								
								qutebrowser/.config/qutebrowser/config.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								qutebrowser/.config/qutebrowser/config.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| config.load_autoconfig() | ||||
| config.source("gruvbox_dark_medium.py") | ||||
							
								
								
									
										300
									
								
								qutebrowser/.config/qutebrowser/gruvbox_dark_medium.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										300
									
								
								qutebrowser/.config/qutebrowser/gruvbox_dark_medium.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,300 @@ | ||||
| # base16-qutebrowser (https://github.com/theova/base16-qutebrowser) | ||||
| # Base16 qutebrowser template by theova | ||||
| # Gruvbox dark, medium scheme by Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox) | ||||
|  | ||||
| base00 = "#282828" | ||||
| base01 = "#3c3836" | ||||
| base02 = "#504945" | ||||
| base03 = "#665c54" | ||||
| base04 = "#bdae93" | ||||
| base05 = "#d5c4a1" | ||||
| base06 = "#ebdbb2" | ||||
| base07 = "#fbf1c7" | ||||
| base08 = "#fb4934" | ||||
| base09 = "#fe8019" | ||||
| base0A = "#fabd2f" | ||||
| base0B = "#b8bb26" | ||||
| base0C = "#8ec07c" | ||||
| base0D = "#83a598" | ||||
| base0E = "#d3869b" | ||||
| base0F = "#d65d0e" | ||||
|  | ||||
| # set qutebrowser colors | ||||
|  | ||||
| # Text color of the completion widget. May be a single color to use for | ||||
| # all columns or a list of three colors, one for each column. | ||||
| c.colors.completion.fg = base05 | ||||
|  | ||||
| # Background color of the completion widget for odd rows. | ||||
| c.colors.completion.odd.bg = base01 | ||||
|  | ||||
| # Background color of the completion widget for even rows. | ||||
| c.colors.completion.even.bg = base00 | ||||
|  | ||||
| # Foreground color of completion widget category headers. | ||||
| c.colors.completion.category.fg = base0A | ||||
|  | ||||
| # Background color of the completion widget category headers. | ||||
| c.colors.completion.category.bg = base00 | ||||
|  | ||||
| # Top border color of the completion widget category headers. | ||||
| c.colors.completion.category.border.top = base00 | ||||
|  | ||||
| # Bottom border color of the completion widget category headers. | ||||
| c.colors.completion.category.border.bottom = base00 | ||||
|  | ||||
| # Foreground color of the selected completion item. | ||||
| c.colors.completion.item.selected.fg = base05 | ||||
|  | ||||
| # Background color of the selected completion item. | ||||
| c.colors.completion.item.selected.bg = base02 | ||||
|  | ||||
| # Top border color of the selected completion item. | ||||
| c.colors.completion.item.selected.border.top = base02 | ||||
|  | ||||
| # Bottom border color of the selected completion item. | ||||
| c.colors.completion.item.selected.border.bottom = base02 | ||||
|  | ||||
| # Foreground color of the matched text in the selected completion item. | ||||
| c.colors.completion.item.selected.match.fg = base0B | ||||
|  | ||||
| # Foreground color of the matched text in the completion. | ||||
| c.colors.completion.match.fg = base0F | ||||
|  | ||||
| # Color of the scrollbar handle in the completion view. | ||||
| c.colors.completion.scrollbar.fg = base05 | ||||
|  | ||||
| # Color of the scrollbar in the completion view. | ||||
| c.colors.completion.scrollbar.bg = base00 | ||||
|  | ||||
| # Background color of disabled items in the context menu. | ||||
| c.colors.contextmenu.disabled.bg = base01 | ||||
|  | ||||
| # Foreground color of disabled items in the context menu. | ||||
| c.colors.contextmenu.disabled.fg = base04 | ||||
|  | ||||
| # Background color of the context menu. If set to null, the Qt default is used. | ||||
| c.colors.contextmenu.menu.bg = base00 | ||||
|  | ||||
| # Foreground color of the context menu. If set to null, the Qt default is used. | ||||
| c.colors.contextmenu.menu.fg =  base05 | ||||
|  | ||||
| # Background color of the context menu’s selected item. If set to null, the Qt default is used. | ||||
| c.colors.contextmenu.selected.bg = base02 | ||||
|  | ||||
| #Foreground color of the context menu’s selected item. If set to null, the Qt default is used. | ||||
| c.colors.contextmenu.selected.fg = base05 | ||||
|  | ||||
| # Background color for the download bar. | ||||
| c.colors.downloads.bar.bg = base00 | ||||
|  | ||||
| # Color gradient start for download text. | ||||
| c.colors.downloads.start.fg = base00 | ||||
|  | ||||
| # Color gradient start for download backgrounds. | ||||
| c.colors.downloads.start.bg = base0D | ||||
|  | ||||
| # Color gradient end for download text. | ||||
| c.colors.downloads.stop.fg = base00 | ||||
|  | ||||
| # Color gradient stop for download backgrounds. | ||||
| c.colors.downloads.stop.bg = base0C | ||||
|  | ||||
| # Foreground color for downloads with errors. | ||||
| c.colors.downloads.error.fg = base08 | ||||
|  | ||||
| # Font color for hints. | ||||
| c.colors.hints.fg = base00 | ||||
|  | ||||
| # Background color for hints. Note that you can use a `rgba(...)` value | ||||
| # for transparency. | ||||
| c.colors.hints.bg = base0A | ||||
|  | ||||
| # Font color for the matched part of hints. | ||||
| c.colors.hints.match.fg = base05 | ||||
|  | ||||
| # Text color for the keyhint widget. | ||||
| c.colors.keyhint.fg = base05 | ||||
|  | ||||
| # Highlight color for keys to complete the current keychain. | ||||
| c.colors.keyhint.suffix.fg = base05 | ||||
|  | ||||
| # Background color of the keyhint widget. | ||||
| c.colors.keyhint.bg = base00 | ||||
|  | ||||
| # Foreground color of an error message. | ||||
| c.colors.messages.error.fg = base00 | ||||
|  | ||||
| # Background color of an error message. | ||||
| c.colors.messages.error.bg = base08 | ||||
|  | ||||
| # Border color of an error message. | ||||
| c.colors.messages.error.border = base08 | ||||
|  | ||||
| # Foreground color of a warning message. | ||||
| c.colors.messages.warning.fg = base00 | ||||
|  | ||||
| # Background color of a warning message. | ||||
| c.colors.messages.warning.bg = base0E | ||||
|  | ||||
| # Border color of a warning message. | ||||
| c.colors.messages.warning.border = base0E | ||||
|  | ||||
| # Foreground color of an info message. | ||||
| c.colors.messages.info.fg = base05 | ||||
|  | ||||
| # Background color of an info message. | ||||
| c.colors.messages.info.bg = base00 | ||||
|  | ||||
| # Border color of an info message. | ||||
| c.colors.messages.info.border = base00 | ||||
|  | ||||
| # Foreground color for prompts. | ||||
| c.colors.prompts.fg = base05 | ||||
|  | ||||
| # Border used around UI elements in prompts. | ||||
| c.colors.prompts.border = base00 | ||||
|  | ||||
| # Background color for prompts. | ||||
| c.colors.prompts.bg = base00 | ||||
|  | ||||
| # Background color for the selected item in filename prompts. | ||||
| c.colors.prompts.selected.bg = base02 | ||||
|  | ||||
| # Foreground color for the selected item in filename prompts. | ||||
| c.colors.prompts.selected.fg = base05 | ||||
|  | ||||
| # Foreground color of the statusbar. | ||||
| c.colors.statusbar.normal.fg = base0B | ||||
|  | ||||
| # Background color of the statusbar. | ||||
| c.colors.statusbar.normal.bg = base00 | ||||
|  | ||||
| # Foreground color of the statusbar in insert mode. | ||||
| c.colors.statusbar.insert.fg = base00 | ||||
|  | ||||
| # Background color of the statusbar in insert mode. | ||||
| c.colors.statusbar.insert.bg = base0A | ||||
|  | ||||
| # Foreground color of the statusbar in passthrough mode. | ||||
| c.colors.statusbar.passthrough.fg = base00 | ||||
|  | ||||
| # Background color of the statusbar in passthrough mode. | ||||
| c.colors.statusbar.passthrough.bg = base0C | ||||
|  | ||||
| # Foreground color of the statusbar in private browsing mode. | ||||
| c.colors.statusbar.private.fg = base00 | ||||
|  | ||||
| # Background color of the statusbar in private browsing mode. | ||||
| c.colors.statusbar.private.bg = base01 | ||||
|  | ||||
| # Foreground color of the statusbar in command mode. | ||||
| c.colors.statusbar.command.fg = base05 | ||||
|  | ||||
| # Background color of the statusbar in command mode. | ||||
| c.colors.statusbar.command.bg = base00 | ||||
|  | ||||
| # Foreground color of the statusbar in private browsing + command mode. | ||||
| c.colors.statusbar.command.private.fg = base05 | ||||
|  | ||||
| # Background color of the statusbar in private browsing + command mode. | ||||
| c.colors.statusbar.command.private.bg = base00 | ||||
|  | ||||
| # Foreground color of the statusbar in caret mode. | ||||
| c.colors.statusbar.caret.fg = base00 | ||||
|  | ||||
| # Background color of the statusbar in caret mode. | ||||
| c.colors.statusbar.caret.bg = base0E | ||||
|  | ||||
| # Foreground color of the statusbar in caret mode with a selection. | ||||
| c.colors.statusbar.caret.selection.fg = base00 | ||||
|  | ||||
| # Background color of the statusbar in caret mode with a selection. | ||||
| c.colors.statusbar.caret.selection.bg = base0D | ||||
|  | ||||
| # Background color of the progress bar. | ||||
| c.colors.statusbar.progress.bg = base0D | ||||
|  | ||||
| # Default foreground color of the URL in the statusbar. | ||||
| c.colors.statusbar.url.fg = base05 | ||||
|  | ||||
| # Foreground color of the URL in the statusbar on error. | ||||
| c.colors.statusbar.url.error.fg = base08 | ||||
|  | ||||
| # Foreground color of the URL in the statusbar for hovered links. | ||||
| c.colors.statusbar.url.hover.fg = base05 | ||||
|  | ||||
| # Foreground color of the URL in the statusbar on successful load | ||||
| # (http). | ||||
| c.colors.statusbar.url.success.http.fg = base0C | ||||
|  | ||||
| # Foreground color of the URL in the statusbar on successful load | ||||
| # (https). | ||||
| c.colors.statusbar.url.success.https.fg = base0B | ||||
|  | ||||
| # Foreground color of the URL in the statusbar when there's a warning. | ||||
| c.colors.statusbar.url.warn.fg = base0E | ||||
|  | ||||
| # Background color of the tab bar. | ||||
| c.colors.tabs.bar.bg = base00 | ||||
|  | ||||
| # Color gradient start for the tab indicator. | ||||
| c.colors.tabs.indicator.start = base0D | ||||
|  | ||||
| # Color gradient end for the tab indicator. | ||||
| c.colors.tabs.indicator.stop = base0C | ||||
|  | ||||
| # Color for the tab indicator on errors. | ||||
| c.colors.tabs.indicator.error = base08 | ||||
|  | ||||
| # Foreground color of unselected odd tabs. | ||||
| c.colors.tabs.odd.fg = base05 | ||||
|  | ||||
| # Background color of unselected odd tabs. | ||||
| c.colors.tabs.odd.bg = base01 | ||||
|  | ||||
| # Foreground color of unselected even tabs. | ||||
| c.colors.tabs.even.fg = base05 | ||||
|  | ||||
| # Background color of unselected even tabs. | ||||
| c.colors.tabs.even.bg = base00 | ||||
|  | ||||
| # Background color of pinned unselected even tabs. | ||||
| c.colors.tabs.pinned.even.bg = base0C | ||||
|  | ||||
| # Foreground color of pinned unselected even tabs. | ||||
| c.colors.tabs.pinned.even.fg = base07 | ||||
|  | ||||
| # Background color of pinned unselected odd tabs. | ||||
| c.colors.tabs.pinned.odd.bg = base0B | ||||
|  | ||||
| # Foreground color of pinned unselected odd tabs. | ||||
| c.colors.tabs.pinned.odd.fg = base07 | ||||
|  | ||||
| # Background color of pinned selected even tabs. | ||||
| c.colors.tabs.pinned.selected.even.bg = base02 | ||||
|  | ||||
| # Foreground color of pinned selected even tabs. | ||||
| c.colors.tabs.pinned.selected.even.fg = base05 | ||||
|  | ||||
| # Background color of pinned selected odd tabs. | ||||
| c.colors.tabs.pinned.selected.odd.bg = base02 | ||||
|  | ||||
| # Foreground color of pinned selected odd tabs. | ||||
| c.colors.tabs.pinned.selected.odd.fg = base05 | ||||
|  | ||||
| # Foreground color of selected odd tabs. | ||||
| c.colors.tabs.selected.odd.fg = base05 | ||||
|  | ||||
| # Background color of selected odd tabs. | ||||
| c.colors.tabs.selected.odd.bg = base0F | ||||
|  | ||||
| # Foreground color of selected even tabs. | ||||
| c.colors.tabs.selected.even.fg = base05 | ||||
|  | ||||
| # Background color of selected even tabs. | ||||
| c.colors.tabs.selected.even.bg = base0F | ||||
|  | ||||
| # Background color for webpages if unset (or empty to use the theme's | ||||
| # color). | ||||
| # c.colors.webpage.bg = base00 | ||||
							
								
								
									
										0
									
								
								qutebrowser/.config/qutebrowser/quickmarks
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								qutebrowser/.config/qutebrowser/quickmarks
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										1
									
								
								qutebrowser/.config/qutebrowser/user.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								qutebrowser/.config/qutebrowser/user.css
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
|  | ||||
							
								
								
									
										58
									
								
								sway/.config/gammastep/config.ini
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								sway/.config/gammastep/config.ini
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,58 @@ | ||||
| ; Global settings | ||||
| [general] | ||||
| ; Set the day and night screen temperatures | ||||
| temp-day=5700 | ||||
| temp-night=4000 | ||||
| ; Disable the smooth fade between temperatures when Redshift starts and stops. | ||||
| ; 0 will cause an immediate change between screen temperatures. | ||||
| ; 1 will gradually apply the new screen temperature over a couple of seconds. | ||||
| fade=1 | ||||
| ; Solar elevation thresholds. | ||||
| ; By default, Redshift will use the current elevation of the sun to determine | ||||
| ; whether it is daytime, night or in transition (dawn/dusk). When the sun is | ||||
| ; above the degrees specified with elevation-high it is considered daytime and | ||||
| ; below elevation-low it is considered night. | ||||
| ;elevation-high=3 | ||||
| ;elevation-low=-6 | ||||
| ; Custom dawn/dusk intervals. | ||||
| ; Instead of using the solar elevation, the time intervals of dawn and dusk | ||||
| ; can be specified manually. The times must be specified as HH:MM in 24-hour | ||||
| ; format. | ||||
| ;dawn-time=6:00-7:45 | ||||
| ;dusk-time=18:35-20:15 | ||||
| ; Set the screen brightness. Default is 1.0. | ||||
| ; brightness=0.8 | ||||
| ; It is also possible to use different settings for day and night | ||||
| ; since version 1.8. | ||||
| brightness-day=1 | ||||
| brightness-night=0.7 | ||||
| ; Set the screen gamma (for all colors, or each color channel | ||||
| ; individually) | ||||
| ; gamma=0.8 | ||||
| ;gamma=0.8:0.7:0.8 | ||||
| ; This can also be set individually for day and night since | ||||
| ; version 1.10. | ||||
| gamma-day=0.8:0.7:0.8 | ||||
| gamma-night=0.7 | ||||
| ; Set the location-provider: 'geoclue2', 'manual'. | ||||
| ; The location provider settings are in a different section. | ||||
| location-provider=manual | ||||
| ; Set the adjustment-method: 'randr', 'vidmode', 'drm', 'wayland'. | ||||
| ; 'randr' is the preferred X11 method, 'vidmode' is an older API | ||||
| ; that works in some cases when 'randr' does not. | ||||
| ; The adjustment method settings are in a different section. | ||||
| adjustment-method=wayland | ||||
| ; Configuration of the location-provider: | ||||
| ; type 'gammastep -l PROVIDER:help' to see the settings. | ||||
| ; ex: 'gammastep -l manual:help' | ||||
| ; Keep in mind that longitudes west of Greenwich (e.g. the Americas) | ||||
| ; are negative numbers. | ||||
| [manual] | ||||
| lat=46.2 | ||||
| lon=5.7 | ||||
| ; Configuration of the adjustment-method | ||||
| ; type 'gammastep -m METHOD:help' to see the settings. | ||||
| ; ex: 'gammastep -m randr:help' | ||||
| ; In this example, randr is configured to adjust only screen 0. | ||||
| ; Note that the numbering starts from 0, so this is actually the first screen. | ||||
| ; If this option is not specified, Redshift will try to adjust _all_ screens. | ||||
							
								
								
									
										20
									
								
								sway/.config/kanshi/config
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								sway/.config/kanshi/config
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,20 @@ | ||||
| profile maison { | ||||
|     output eDP-1 disable | ||||
|     output "Philips Consumer Electronics Company PHL 223V5 ZV01622003292" position 0,0 transform 90 mode 1920x1080 | ||||
|     output "Samsung Electric Company LS27A600U HNMR502540"  position 1080,240 mode 2560x1440 | ||||
| } | ||||
|  | ||||
| profile atelier { | ||||
|     output eDP-1 enable scale 1 position 0,1080 | ||||
|     output "ROW AAA Unknown" mode 1280x800 | ||||
| } | ||||
|  | ||||
| profile bdp { | ||||
|     output eDP-1 enable scale 1 position 320,1440 | ||||
|     output "Dell Inc. DELL U3417W 660X87290G9L" position 0,0 | ||||
| } | ||||
|  | ||||
|  | ||||
| profile  undocked { | ||||
|     output eDP-1 enable scale 1 | ||||
| } | ||||
							
								
								
									
										23
									
								
								sway/.config/mako/config
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								sway/.config/mako/config
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,23 @@ | ||||
| sort=-time | ||||
| layer=overlay | ||||
| background-color=#282828 | ||||
| width=300 | ||||
| height=110 | ||||
| border-size=2 | ||||
| border-color=#88c0d0 | ||||
| border-radius=5 | ||||
| icons=0 | ||||
| max-icon-size=64 | ||||
| default-timeout=5000 | ||||
| ignore-timeout=1 | ||||
| font=monospace 10 | ||||
|  | ||||
| [urgency=low] | ||||
| border-color=#ebdbb2 | ||||
|  | ||||
| [urgency=normal] | ||||
| border-color=#d65d0e | ||||
|  | ||||
| [urgency=high] | ||||
| border-color=#cc241d | ||||
| default-timeout=0 | ||||
							
								
								
									
										124
									
								
								sway/.config/rofi-pass/config
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										124
									
								
								sway/.config/rofi-pass/config
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,124 @@ | ||||
| # permanently set alternative root dir. Use ":" to separate multiple roots | ||||
| # which can be switched at runtime with shift+left/right | ||||
| # root=/path/to/root | ||||
|  | ||||
| # rofi command. Make sure to have "$@" as last argument | ||||
| _rofi () { | ||||
|     rofi -i -no-auto-select "$@" | ||||
| } | ||||
|  | ||||
| # default command to generate passwords | ||||
| _pwgen () { | ||||
| 	pwgen -y "$@" | ||||
| } | ||||
|  | ||||
| # image viewer to display qrcode of selected entry | ||||
| # qrencode is needed to generate the image and a viewer | ||||
| # that can read from pipes. Known viewers to work are feh and display | ||||
| _image_viewer () { | ||||
|     # feh - | ||||
|     display | ||||
| } | ||||
|  | ||||
| # It is possible to use wl-copy and wl-paste from wl-clipboard | ||||
| # Just uncomment the lines with wl-copy and wl-paste | ||||
| # and comment the xclip lines | ||||
| # | ||||
| _clip_in_primary() { | ||||
|   # xclip | ||||
|   wl-copy-p | ||||
| } | ||||
|  | ||||
| _clip_in_clipboard() { | ||||
|   #xclip -selection clipboard | ||||
|   wl-copy | ||||
| } | ||||
|  | ||||
| _clip_out_primary() { | ||||
|   # xclip -o | ||||
|   wl-paste -p | ||||
| } | ||||
|  | ||||
| _clip_out_clipboard() { | ||||
|   # xclip --selection clipboard -o | ||||
|   wl-paste | ||||
| } | ||||
|  | ||||
|  | ||||
| # xdotool needs the keyboard layout to be set using setxkbmap | ||||
| # You can do this in your autostart scripts (e.g. xinitrc) | ||||
|  | ||||
| # If for some reason, you cannot do this, you can set the command here. | ||||
| # and set fix_layout to true | ||||
| fix_layout=true | ||||
|  | ||||
| layout_cmd () { | ||||
|   setxkbmap fr | ||||
| } | ||||
|  | ||||
| # fields to be used | ||||
| URL_field='url' | ||||
| USERNAME_field='user' | ||||
| AUTOTYPE_field='autotype' | ||||
|  | ||||
| # delay to be used for :delay keyword | ||||
| delay=2 | ||||
|  | ||||
| # rofi-pass needs to close itself before it can type passwords. Set delay here. | ||||
| wait=0.2 | ||||
|  | ||||
| # delay between keypresses when typing (in ms) | ||||
| xdotool_delay=12 | ||||
|  | ||||
| ## Programs to be used | ||||
| # Editor | ||||
| EDITOR='gvim -f' | ||||
|  | ||||
| # Browser | ||||
| BROWSER='xdg-open' | ||||
|  | ||||
| ## Misc settings | ||||
|  | ||||
| default_do='menu' # menu, autotype, copyPass, typeUser, typePass, copyUser, copyUrl, viewEntry, typeMenu, actionMenu, copyMenu, openUrl | ||||
| auto_enter='false' | ||||
| notify='false' | ||||
| default_autotype='user :tab pass' | ||||
|  | ||||
| # color of the help messages | ||||
| # leave empty for autodetection | ||||
| help_color="#4872FF" | ||||
|  | ||||
| # Clipboard settings | ||||
| # Possible options: primary, clipboard, both | ||||
| clip=primary | ||||
|  | ||||
| # Seconds before clearing pass from clipboard  | ||||
| clip_clear=45 | ||||
|  | ||||
| ## Options for generating new password entries | ||||
|  | ||||
| # open new password entries in editor | ||||
| edit_new_pass="true" | ||||
|  | ||||
| # default_user is also used for password files that have no user field. | ||||
| default_user=:filename | ||||
| #default_user="${ROFI_PASS_DEFAULT_USER-$(whoami)}" | ||||
| #default_user2=mary_ann | ||||
| #password_length=12 | ||||
|  | ||||
| # Custom Keybindings | ||||
| autotype="Alt+1" | ||||
| type_user="Alt+2" | ||||
| type_pass="Alt+3" | ||||
| open_url="Alt+4" | ||||
| copy_name="Alt+u" | ||||
| copy_url="Alt+l" | ||||
| copy_pass="Alt+p" | ||||
| show="Alt+o" | ||||
| copy_entry="Alt+2" | ||||
| type_entry="Alt+1" | ||||
| copy_menu="Alt+c" | ||||
| action_menu="Alt+a" | ||||
| type_menu="Alt+t" | ||||
| help="Alt+h" | ||||
| switch="Alt+x" | ||||
							
								
								
									
										18
									
								
								sway/.config/rofi/config.rasi
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								sway/.config/rofi/config.rasi
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | ||||
|  | ||||
| configuration { | ||||
|   terminal: "kitty"; | ||||
|   modi: "combi,window,drun"; | ||||
|   combi-modi: "drun,window"; | ||||
|   font: "Noto Sans Bold 10"; | ||||
|   show-icons: true; | ||||
|   icon-theme: "Tela circle dark"; | ||||
|   combi-hide-mode-prefix: true; | ||||
|   drun-show-actions: true; | ||||
|   drun-display-format: "{name}"; | ||||
|   disable-history: false; | ||||
|   fullscreen: false; | ||||
|   hide-scrollbar: true; | ||||
|   sidebar-mode: false; | ||||
|   auto-select: false; | ||||
| } | ||||
| @theme "/home/lafrite/.local/share/rofi/rofi-themes-collection/themes/spotlight-dark.rasi" | ||||
							
								
								
									
										271
									
								
								sway/.config/sway/config
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										271
									
								
								sway/.config/sway/config
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,271 @@ | ||||
| # Default config for sway | ||||
| # | ||||
| # Copy this to ~/.config/sway/config and edit it to your liking. | ||||
| # | ||||
| # Read `man 5 sway` for a complete reference. | ||||
|  | ||||
| ### Variables | ||||
| # | ||||
| # Logo key. Use Mod1 for Alt. | ||||
| set $mod Mod4 | ||||
| # Home row direction keys, like vim | ||||
| set $left h | ||||
| set $down j | ||||
| set $up k | ||||
| set $right l | ||||
| # Your preferred terminal emulator | ||||
| set $term alacritty | ||||
| # Your preferred application launcher | ||||
| # Note: pass the final command to swaymsg so that the resulting window can be opened | ||||
| # on the original workspace that the command was run on. | ||||
| set $menu rofi -show drun | ||||
|  | ||||
| set $laptopScreen eDP-1 | ||||
|  | ||||
| ### Output configuration | ||||
| # | ||||
| # Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/) | ||||
| # output * bg ~/Images/Wallpapers/Pteridium.jpg fill | ||||
| output * bg ~/Images/Wallpapers/coraill.jpg fill | ||||
| # | ||||
| # Example configuration: | ||||
| # | ||||
| #   output HDMI-A-1 resolution 1920x1080 position 1920,0 | ||||
| # | ||||
| # You can get the names of your outputs by running: swaymsg -t get_outputs | ||||
|  | ||||
| ### Idle configuration | ||||
| # | ||||
| # Example configuration: | ||||
| # | ||||
| # exec swayidle -w \ | ||||
| #          timeout 300 'swaylock -f -c 000000' \ | ||||
| #          timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \ | ||||
| #          before-sleep 'swaylock -f -c 000000' | ||||
| # | ||||
| # This will lock your screen after 300 seconds of inactivity, then turn off | ||||
| # your displays after another 300 seconds, and turn your screens back on when | ||||
| # resumed. It will also lock your screen before your computer goes to sleep. | ||||
|  | ||||
| ### Input configuration | ||||
|  | ||||
|  | ||||
| input type:keyboard { | ||||
|     xkb_layout "fr" | ||||
|     xkb_variant "" | ||||
| } | ||||
|  | ||||
| input * xkb_numlock enable | ||||
|  | ||||
| input type:touchpad { | ||||
|     natural_scroll enabled | ||||
|     tap enabled | ||||
| } | ||||
|  | ||||
| input type:pointer { | ||||
|     accel_profile flat | ||||
|     pointer_accel 0 | ||||
| } | ||||
|  | ||||
| # | ||||
| # Example configuration: | ||||
| # | ||||
| #   input "2:14:SynPS/2_Synaptics_TouchPad" { | ||||
| #       dwt enabled | ||||
| #       tap enabled | ||||
| #       natural_scroll enabled | ||||
| #       middle_emulation enabled | ||||
| #   } | ||||
| # | ||||
| # You can get the names of your inputs by running: swaymsg -t get_inputs | ||||
| # Read `man 5 sway-input` for more information about this section. | ||||
|  | ||||
| ### Key bindings | ||||
| # | ||||
| # Basics: | ||||
| # | ||||
|     # Start a terminal | ||||
|     bindsym $mod+Return exec $term | ||||
|  | ||||
|     # Kill focused window | ||||
|     bindsym $mod+q kill | ||||
|  | ||||
|     # Start your launcher | ||||
|     bindsym $mod+d exec $menu | ||||
|     bindsym $mod+p exec rofi-pass | ||||
|     bindsym Print exec ~/.local/bin/sway/rofi_screenshot.sh 2> ~/tmp/rofi_debug.log | ||||
|  | ||||
|     # Drag floating windows by holding down $mod and left mouse button. | ||||
|     # Resize them with right mouse button + $mod. | ||||
|     # Despite the name, also works for non-floating windows. | ||||
|     # Change normal to inverse to use left mouse button for resizing and right | ||||
|     # mouse button for dragging. | ||||
|     floating_modifier $mod normal | ||||
|  | ||||
|     # Reload the configuration file | ||||
|     bindsym $mod+Shift+c reload | ||||
|  | ||||
|     # Exit sway (logs you out of your Wayland session) | ||||
|     bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -b 'Yes, exit sway' 'swaymsg exit' | ||||
| # | ||||
| # Moving around: | ||||
| # | ||||
| # Move your focus around | ||||
| bindsym $mod+$left focus left | ||||
| bindsym $mod+$down focus down | ||||
| bindsym $mod+$up focus up | ||||
| bindsym $mod+$right focus right | ||||
| # Or use $mod+[up|down|left|right] | ||||
| bindsym $mod+Left focus left | ||||
| bindsym $mod+Down focus down | ||||
| bindsym $mod+Up focus up | ||||
| bindsym $mod+Right focus right | ||||
|  | ||||
| # Move the focused window with the same, but add Shift | ||||
| bindsym $mod+Shift+$left move left | ||||
| bindsym $mod+Shift+$down move down | ||||
| bindsym $mod+Shift+$up move up | ||||
| bindsym $mod+Shift+$right move right | ||||
| # Ditto, with arrow keys | ||||
| bindsym $mod+Shift+Left move left | ||||
| bindsym $mod+Shift+Down move down | ||||
| bindsym $mod+Shift+Up move up | ||||
| bindsym $mod+Shift+Right move right | ||||
|  | ||||
| # | ||||
| # Workspaces: | ||||
| # | ||||
| set $ws1 1:  | ||||
| set $ws2 2:  | ||||
| set $ws3 3:  | ||||
| set $ws4 4:  | ||||
| set $ws5 5:  | ||||
| set $ws6 6:  | ||||
| set $ws7 7:  | ||||
|  | ||||
| bindsym $mod+ampersand workspace $ws1 | ||||
| bindsym $mod+eacute workspace $ws2 | ||||
| bindsym $mod+quotedbl workspace $ws3 | ||||
| bindsym $mod+apostrophe workspace $ws4 | ||||
| bindsym $mod+parenleft workspace $ws5 | ||||
| bindsym $mod+minus workspace $ws6 | ||||
| bindsym $mod+egrave workspace $ws7 | ||||
| bindsym $mod+underscore workspace 8 | ||||
| bindsym $mod+ccedilla workspace 9 | ||||
|  | ||||
| bindsym $mod+1 move container to workspace $ws1 | ||||
| bindsym $mod+2 move container to workspace $ws2 | ||||
| bindsym $mod+3 move container to workspace $ws3 | ||||
| bindsym $mod+4 move container to workspace $ws4 | ||||
| bindsym $mod+5 move container to workspace $ws5 | ||||
| bindsym $mod+6 move container to workspace $ws6 | ||||
| bindsym $mod+7 move container to workspace $ws7 | ||||
| bindsym $mod+8 move container to workspace 8 | ||||
| bindsym $mod+9 move container to workspace 9 | ||||
|  | ||||
|  | ||||
| bindsym $mod+Ctrl+greater move workspace to output right | ||||
| bindsym $mod+Ctrl+less move workspace to output left | ||||
|  | ||||
| # move to last workspace | ||||
| bindsym $mod+space workspace back_and_forth | ||||
| # | ||||
| # Layout stuff: | ||||
| # | ||||
|     # You can "split" the current object of your focus with | ||||
|     # $mod+b or $mod+v, for horizontal and vertical splits | ||||
|     # respectively. | ||||
|     bindsym $mod+b splith | ||||
|     bindsym $mod+v splitv | ||||
|  | ||||
|     # Switch the current container between different layout styles | ||||
|     # bindsym $mod+s layout stacking | ||||
|     # bindsym $mod+w layout tabbed | ||||
|     bindsym $mod+e layout toggle split | ||||
|  | ||||
|     # Make the current focus fullscreen | ||||
|     bindsym $mod+f fullscreen | ||||
|  | ||||
|     # Toggle the current focus between tiling and floating mode | ||||
|     bindsym $mod+Shift+space floating toggle | ||||
|  | ||||
|     # Swap focus between the tiling area and the floating area | ||||
|     bindsym $mod+y focus mode_toggle | ||||
|  | ||||
|     # Move focus to the parent container | ||||
|     bindsym $mod+a focus parent | ||||
| # | ||||
| # Scratchpad: | ||||
| # | ||||
|     # Sway has a "scratchpad", which is a bag of holding for windows. | ||||
|     # You can send windows there and get them back later. | ||||
|  | ||||
|     # Move the currently focused window to the scratchpad | ||||
|     bindsym $mod+Shift+m move scratchpad | ||||
|  | ||||
|     # Show the next scratchpad window or hide the focused scratchpad window. | ||||
|     # If there are multiple scratchpad windows, this command cycles through them. | ||||
|     bindsym $mod+m scratchpad show | ||||
| # | ||||
| # Resizing containers: | ||||
| # | ||||
| mode "resize" { | ||||
|     bindsym $left resize shrink width 10px | ||||
|     bindsym $down resize grow height 10px | ||||
|     bindsym $up resize shrink height 10px | ||||
|     bindsym $right resize grow width 10px | ||||
|  | ||||
|     # Ditto, with arrow keys | ||||
|     bindsym Left resize shrink width 10px | ||||
|     bindsym Down resize grow height 10px | ||||
|     bindsym Up resize shrink height 10px | ||||
|     bindsym Right resize grow width 10px | ||||
|  | ||||
|     # Return to default mode | ||||
|     bindsym Return mode "default" | ||||
|     bindsym Escape mode "default" | ||||
| } | ||||
| bindsym $mod+r mode "resize" | ||||
|  | ||||
| # | ||||
| ## Gesture | ||||
| # | ||||
| bindgesture swipe:right workspace prev | ||||
| bindgesture swipe:left workspace next | ||||
|  | ||||
| # | ||||
| # Audio | ||||
| # | ||||
|  | ||||
| bindsym XF86AudioRaiseVolume exec volumectl -u up | ||||
| bindsym XF86AudioLowerVolume exec volumectl -u down | ||||
| bindsym XF86AudioMute exec volumectl toggle-mute | ||||
| bindsym XF86AudioMicMute exec volumectl -m toggle-mute | ||||
|  | ||||
| # | ||||
| # Brightness | ||||
| # | ||||
| bindsym XF86MonBrightnessUp exec lightctl up | ||||
| bindsym XF86MonBrightnessDown exec lightctl down | ||||
|  | ||||
| # | ||||
| # Decoration | ||||
| # | ||||
|  | ||||
|  | ||||
| default_border pixel 2 | ||||
| # class                 border   backgr.  text     indicator child_border | ||||
| client.focused           #d65d0e #be5046  #ffffff  #be5046   #be5046 | ||||
|  | ||||
| # | ||||
| # Status Bar: | ||||
| # | ||||
| # Read `man 5 sway-bar` for more information about this section. | ||||
| bar { | ||||
|     # position top | ||||
|     # output $laptopScreen  | ||||
|     swaybar_command waybar | ||||
| } | ||||
|  | ||||
| include /etc/sway/config.d/* | ||||
| include ~/.config/sway/config.d/* | ||||
							
								
								
									
										17
									
								
								sway/.config/sway/config.d/misc_autostart
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								sway/.config/sway/config.d/misc_autostart
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,17 @@ | ||||
| exec_always blueman-applet | ||||
| exec_always /usr/bin/nm-applet --indicator | ||||
| exec_always nextcloud | ||||
| exec_always /usr/libexec/goa-daemon --replace | ||||
| exec gammastep-indicator | ||||
| exec mako  | ||||
| exec "avizo-service" | ||||
| exec_always autotiling-rs | ||||
|  | ||||
| exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 | ||||
|  | ||||
| #exec_always pkill kanshi; exec_always kanshi | ||||
| exec_always "systemctl --user import-environment; systemctl --user start sway-session.target" | ||||
|  | ||||
| exec swaymsg "workspace $ws1; exec firefox;" | ||||
| exec swaymsg "workspace $ws2; exec thunderbird;" | ||||
| exec swaymsg "workspace scratchpad; exec $term -e 'mocp';" | ||||
							
								
								
									
										11
									
								
								sway/.config/systemd/user/kanshi.service
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								sway/.config/systemd/user/kanshi.service
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| [Unit] | ||||
| Description=Dynamic output configuration for Wayland compositors | ||||
| Documentation=https://sr.ht/~emersion/kanshi | ||||
| BindsTo=sway-session.target | ||||
|  | ||||
| [Service] | ||||
| Type=simple | ||||
| ExecStart=/usr/bin/kanshi | ||||
|  | ||||
| [Install] | ||||
| WantedBy=sway-session.target | ||||
							
								
								
									
										6
									
								
								sway/.config/systemd/user/sway-session.target
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								sway/.config/systemd/user/sway-session.target
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| [Unit] | ||||
| Description=Sway compositor session | ||||
| Documentation=man:systemd.special | ||||
| BindsTo=graphical-session.target | ||||
| Wants=graphical-session-pre.target | ||||
| After=graphical-session-pre.target | ||||
| @@ -0,0 +1 @@ | ||||
| /home/lafrite/.config/systemd/user/kanshi.service | ||||
							
								
								
									
										111
									
								
								sway/.config/waybar/config
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										111
									
								
								sway/.config/waybar/config
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,111 @@ | ||||
| [{ | ||||
|     "layer": "top", | ||||
|     "output": "eDP-1", | ||||
|     "height": 30, | ||||
|     "modules-left": ["sway/workspaces", "sway/mode"], | ||||
|     "modules-center": ["sway/window"], | ||||
|     "modules-right": ["pulseaudio", "battery", "tray", "clock"], | ||||
|     "sway/window": { | ||||
|         "max-length": 50 | ||||
|     }, | ||||
|     "sway/workspaces": { | ||||
|         "all-outputs": true        | ||||
|     }, | ||||
|     "battery": { | ||||
|         "states": { | ||||
|             // "good": 95, | ||||
|             "warning": 20, | ||||
|             "critical": 10 | ||||
|         }, | ||||
|         "format": "{capacity}% {icon}", | ||||
|         "format-charging": "{capacity}% ", | ||||
|         "format-plugged": "{capacity}% ", | ||||
|         "format-alt": "{time} {icon}", | ||||
|         // "format-good": "", // An empty format will hide the module | ||||
|         // "format-full": "", | ||||
|         "format-icons": ["", "", "", "", ""] | ||||
|     }, | ||||
|     "clock": { | ||||
|         "format": "{:%a, %d. %b  %H:%M}", | ||||
|         "on-click": "gnome-calendar" | ||||
|     }, | ||||
|     "pulseaudio": { | ||||
|         // "scroll-step": 1, // %, can be a float | ||||
|         "format": "{volume}% {icon} {format_source}", | ||||
|         "format-bluetooth": "{volume}% {icon} {format_source}", | ||||
|         "format-bluetooth-muted": " {icon} {format_source}", | ||||
|         "format-muted": " {format_source}", | ||||
|         "format-source": "{volume}% ", | ||||
|         "format-source-muted": "", | ||||
|         "format-icons": { | ||||
|             "headphone": "", | ||||
|             "hands-free": "", | ||||
|             "headset": "", | ||||
|             "phone": "", | ||||
|             "portable": "", | ||||
|             "car": "", | ||||
|             "default": ["", "", ""] | ||||
|         }, | ||||
|         "on-click": "pavucontrol" | ||||
|     }, | ||||
|     "tray": { | ||||
|     "icon-size": 21, | ||||
|     "spacing": 10, | ||||
|     } | ||||
| }, | ||||
| { | ||||
|     "layer": "bottom", | ||||
|     "position": "bottom", | ||||
|     "output": "DP-2", | ||||
|     "height": 30, | ||||
|     "modules-left": ["sway/workspaces", "sway/mode"], | ||||
|     "modules-center": ["sway/window"], | ||||
|     "modules-right": ["pulseaudio", "battery", "tray", "clock"], | ||||
|     "sway/window": { | ||||
|         "max-length": 50 | ||||
|     }, | ||||
|     "sway/workspaces": { | ||||
|         "all-outputs": true        | ||||
|     }, | ||||
|     "battery": { | ||||
|         "states": { | ||||
|             // "good": 95, | ||||
|             "warning": 20, | ||||
|             "critical": 10 | ||||
|         }, | ||||
|         "format": "{capacity}% {icon}", | ||||
|         "format-charging": "{capacity}% ", | ||||
|         "format-plugged": "{capacity}% ", | ||||
|         "format-alt": "{time} {icon}", | ||||
|         // "format-good": "", // An empty format will hide the module | ||||
|         // "format-full": "", | ||||
|         "format-icons": ["", "", "", "", ""] | ||||
|     }, | ||||
|     "clock": { | ||||
|         "format": "{:%a, %d. %b  %H:%M}", | ||||
|         "on-click": "gnome-calendar" | ||||
|     }, | ||||
|     "pulseaudio": { | ||||
|         // "scroll-step": 1, // %, can be a float | ||||
|         "format": "{volume}% {icon} {format_source}", | ||||
|         "format-bluetooth": "{volume}% {icon} {format_source}", | ||||
|         "format-bluetooth-muted": " {icon} {format_source}", | ||||
|         "format-muted": " {format_source}", | ||||
|         "format-source": "{volume}% ", | ||||
|         "format-source-muted": "", | ||||
|         "format-icons": { | ||||
|             "headphone": "", | ||||
|             "hands-free": "", | ||||
|             "headset": "", | ||||
|             "phone": "", | ||||
|             "portable": "", | ||||
|             "car": "", | ||||
|             "default": ["", "", ""] | ||||
|         }, | ||||
|         "on-click": "pavucontrol" | ||||
|     }, | ||||
|     "tray": { | ||||
|     "icon-size": 21, | ||||
|     "spacing": 10, | ||||
|     } | ||||
| }] | ||||
							
								
								
									
										23
									
								
								sway/.config/waybar/gruvbox.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								sway/.config/waybar/gruvbox.css
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,23 @@ | ||||
| @define-color background #282828; | ||||
| @define-color foreground #ebdbb2; | ||||
| @define-color black #282828; | ||||
| @define-color red   #cc241d; | ||||
| @define-color green #98971a; | ||||
| @define-color yellow #d79921; | ||||
| @define-color blue  #458588; | ||||
| @define-color magenta #b16286; | ||||
| @define-color cyan  #689d6a; | ||||
| @define-color white #a89984; | ||||
| @define-color aqua  #689d6a; | ||||
| @define-color orange #d65d0e; | ||||
|  | ||||
| @define-color magenta_b #d3869b; | ||||
| @define-color cyan_b   #8ec07c; | ||||
| @define-color yellow_b #fabd2f; | ||||
| @define-color white_b  #ebdbb2; | ||||
| @define-color black_b  #928374; | ||||
| @define-color red_b    #fb4934; | ||||
| @define-color green_b  #b8bb26; | ||||
| @define-color blue_b   #83a598; | ||||
| @define-color aqua_b   #8ec07c; | ||||
| @define-color orange_b #fe8010; | ||||
							
								
								
									
										70
									
								
								sway/.config/waybar/style.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								sway/.config/waybar/style.css
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,70 @@ | ||||
| * { | ||||
|     border: none; | ||||
|     border-radius: 0; | ||||
|     font-family: Droid Nerd Font Mono; | ||||
|     font-size: 14px; | ||||
|     min-height: 0; | ||||
| } | ||||
|  | ||||
| @import "gruvbox.css"; | ||||
|  | ||||
| window#waybar { | ||||
|     background: @background; | ||||
|     color: @white_b; | ||||
| } | ||||
|  | ||||
| #workspaces button { | ||||
|     padding: 0 2px; | ||||
|     background: transparent; | ||||
|     color: @white_b; | ||||
|     border-bottom: 3px solid transparent; | ||||
| } | ||||
|  | ||||
| #workspaces button.focused { | ||||
|     background: @orange; | ||||
|     border-bottom: 3px solid @orange_b; | ||||
| } | ||||
|  | ||||
| #mode, #clock, #battery { | ||||
|     padding: 0 10px; | ||||
|     margin: 0 5px; | ||||
| } | ||||
|  | ||||
| #mode { | ||||
|     background: @red; | ||||
|     border-bottom: 3px solid @white_b; | ||||
| } | ||||
|  | ||||
| #clock { | ||||
|     color: @white_b; | ||||
| } | ||||
|  | ||||
| #battery { | ||||
|     color: @white_b; | ||||
| } | ||||
|  | ||||
| #battery.charging { | ||||
|     color: @gree; | ||||
| } | ||||
|  | ||||
| @keyframes blink { | ||||
|     to { | ||||
|         background-color: @white_b; | ||||
|         color: @background; | ||||
|     } | ||||
| } | ||||
|  | ||||
| #idle_inhibitor, #pulseaudio, #custom-openvpn, #network, #cpu, #memory, #temperature, #backlight, #battery, #clock, #tray { | ||||
|      padding: 0 6px; | ||||
|      margin: 0 3px; | ||||
| } | ||||
|  | ||||
| #battery.warning:not(.charging) { | ||||
|     background: @red; | ||||
|     color: @white_b; | ||||
|     animation-name: blink; | ||||
|     animation-duration: 0.5s; | ||||
|     animation-timing-function: linear; | ||||
|     animation-iteration-count: infinite; | ||||
|     animation-direction: alternate; | ||||
| } | ||||
							
								
								
									
										87
									
								
								sway/.local/bin/sway/rofi_screenshot.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										87
									
								
								sway/.local/bin/sway/rofi_screenshot.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,87 @@ | ||||
| #! /usr/bin/zsh | ||||
|  | ||||
| set -e | ||||
|  | ||||
| PICTURES_DIR="$(xdg-user-dir PICTURES)" | ||||
| ZK_NOTEBOOK_DIR="/home/lafrite/Nextcloud/Documents/zettelkasten/" | ||||
|  | ||||
| monitor="$(swaymsg -t get_outputs | jq '[.[].focused] | index(true)')" | ||||
| alias myrofi="rofi -dmenu -matching fuzzy -i -sort -sorting-method fzf -monitor $monitor" | ||||
|  | ||||
| select_window() { | ||||
|   declare -A windows | ||||
|  | ||||
|   swaymsg -t get_tree | | ||||
|     jq -r '..|.nodes? + .floating_nodes?|arrays|select(length > 0)|.[]|select((.nodes + .floating_nodes | length) == 0)|select(.visible)|(.app_id + ": " + .name + "\n" + (.rect.x | tostring) + "," + (.rect.y | tostring) + " " + (.rect.width | tostring) + "x" + (.rect.height | tostring))' | | ||||
|     while read window_name; read geometry; do | ||||
|       windows[$window_name]="$geometry" | ||||
|     done | ||||
|  | ||||
|     echo ${windows[$(print -l ${(@k)windows} | myrofi)]} | ||||
| } | ||||
|  | ||||
| main() { | ||||
|   actions="Copy region to clipboard\nSave region to $PICTURES_DIR\nCopy window to clipboard\nSave window to $PICTURES_DIR\nSave region to zk" | ||||
|  | ||||
|   if [[ "$(swaymsg -t get_outputs | jq length)" == "1" ]]; then | ||||
|     actions+="\nCopy screen to clipboard\nSave screen to $PICTURES_DIR" | ||||
|   else | ||||
|     actions+="\nCopy current monitor to clipboard\nSave current monitor to $PICTURES_DIR\nCopy all monitors to clipboard\nSave all monitors to $PICTURES_DIR" | ||||
|   fi | ||||
|  | ||||
|   selection="$(echo "$actions" | myrofi -p "Take a screenshot")" | ||||
|  | ||||
|   filename="$(date +'screenshot_%Y%m%d%H%M%s.png')" | ||||
|   imagepath="${PICTURES_DIR}/$filename" | ||||
|   zkpath="${ZK_NOTEBOOK_DIR}/fig/$filename" | ||||
|   case "$selection" in | ||||
|     "Copy region to clipboard") | ||||
|       grim -g "$(slurp)" - | wl-copy | ||||
|       notify-send "Region copied to clipboard" | ||||
|       ;; | ||||
|     "Save region to $PICTURES_DIR") | ||||
|       grim -g "$(slurp)" "$imagepath" | ||||
|       reply=$(notify-send -A 'open,Open' -i "$imagepath" "Screenshot saved") | ||||
|       ;; | ||||
|     "Save region to zk") | ||||
|       grim -g "$(slurp)" "$zkpath" | ||||
|       sh_path="../fig/${zkpath##*/}" | ||||
|       wl-copy $sh_path | ||||
|       reply=$(notify-send -A 'open,Open' -i "$imagepath" "Screenshot saved" "$sh_path is copied") | ||||
|       ;; | ||||
|     "Copy window to clipboard") | ||||
|       grim -g "$(select_window)" - | wl-copy | ||||
|       notify-send "Window copied to clipboard" | ||||
|       ;; | ||||
|     "Save window to $PICTURES_DIR") | ||||
|       grim -g "$(select_window)" "$imagepath" | ||||
|       reply=$(notify-send -A 'open,Open' -i "$imagepath" "Screenshot saved") | ||||
|       ;; | ||||
|     "Copy current monitor to clipboard") | ||||
|       monitor="$(swaymsg -t get_outputs | jq -r '.[] | select(.focused) | .name')" | ||||
|       grim -o $monitor - | wl-copy | ||||
|       notify-send "Monitor $monitor copied to clipboard" | ||||
|       ;; | ||||
|     "Save current monitor to $PICTURES_DIR") | ||||
|       grim -o "$(swaymsg -t get_outputs | jq -r '.[] | select(.focused) | .name')" "$imagepath" | ||||
|       reply=$(notify-send -A 'open,Open' -i "$imagepath" "Screenshot saved") | ||||
|       ;; | ||||
|     "Copy screen to clipboard"|"Copy all monitors to clipboard") | ||||
|       grim - | wl-copy | ||||
|       notify-send "Screen copied to clipboard" | ||||
|       ;; | ||||
|     "Save screen to $PICTURES_DIR"|"Save all monitors to $PICTURES_DIR") | ||||
|       grim "$imagepath" | ||||
|       reply=$(notify-send -A 'open,Open' -i "$imagepath" "Screenshot saved") | ||||
|       ;; | ||||
|     *) | ||||
|       exit 1 | ||||
|       ;; | ||||
|   esac | ||||
|  | ||||
|   if [[ "$reply" == "2" ]]; then | ||||
|     nautilus -s $imagepath | ||||
|   fi | ||||
| } | ||||
|  | ||||
| main "$@" | ||||
							
								
								
									
										163
									
								
								tmux/.tmux.conf
									
									
									
									
									
								
							
							
						
						
									
										163
									
								
								tmux/.tmux.conf
									
									
									
									
									
								
							| @@ -1,4 +1,6 @@ | ||||
| set -g default-terminal "screen-256color"  | ||||
| set -g default-terminal "tmux-256color"  | ||||
| set-option -sa terminal-features ',alacritty:RGB' | ||||
| # set-option -sa terminal-overrides ",screen:Tc" | ||||
|  | ||||
| ## Vim user config | ||||
|  | ||||
| @@ -7,6 +9,13 @@ unbind C-b | ||||
| set -g prefix C-space | ||||
| bind C-space send-prefix | ||||
|  | ||||
| set-option -g status-position top | ||||
| # Start windows and panes at 1, not 0 | ||||
| set -g base-index 1 | ||||
| set -g pane-base-index 1 | ||||
| set-window-option -g pane-base-index 1 | ||||
| set-option -g renumber-windows on | ||||
|  | ||||
|  | ||||
| # C-space C-space will swap to last used window | ||||
| bind-key C-space last-window | ||||
| @@ -32,168 +41,32 @@ set -g history-limit 10000 | ||||
| bind Escape copy-mode | ||||
| unbind p | ||||
| bind p paste-buffer | ||||
| #bind -t vi-copy 'v' begin-selection | ||||
| #bind -t vi-copy 'y' copy-selection | ||||
| #bind -t vi-copy 'Space' halfpage-down | ||||
| #bind -t vi-copy 'Bspace' halfpage-up | ||||
| bind-key -T copy-mode-vi 'v' send -X begin-selection | ||||
| bind-key -T copy-mode-vi 'y' send -X copy-selection | ||||
| bind-key -T copy-mode-vi v send-keys -X begin-selection | ||||
| bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle | ||||
| bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel | ||||
|  | ||||
| bind-key -T copy-mode-vi 'Space' send -X halfpage-down | ||||
| bind-key -T copy-mode-vi 'Bspace' send -X halfpage-up | ||||
|  | ||||
| # Remap previous window | ||||
| bind b previous-window | ||||
|  | ||||
| # extra commands for interacting with the ICCCM clipboard | ||||
| bind C-c run "tmux save-buffer - | xclip -i -sel clipboard" | ||||
| bind C-v run "tmux set-buffer \"$(xclip -o -sel clipboard)\"; tmux paste-buffer" | ||||
|  | ||||
| # easy-to-remember split pane commands | ||||
| bind | split-window -h | ||||
| bind - split-window -v | ||||
| unbind '"' | ||||
| unbind % | ||||
|  | ||||
| # # moving between panes with vim movement keys | ||||
| # bind h select-pane -L | ||||
| # bind j select-pane -D | ||||
| # bind k select-pane -U | ||||
| # bind l select-pane -R | ||||
| # Smart pane switching with awareness of Vim splits. | ||||
| # See: https://github.com/christoomey/vim-tmux-navigator | ||||
| is_vim="ps -o state= -o comm= -t '#{pane_tty}' \ | ||||
|     | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'" | ||||
| bind-key -n C-h if-shell "$is_vim" "send-keys C-h"  "select-pane -L" | ||||
| bind-key -n C-j if-shell "$is_vim" "send-keys C-j"  "select-pane -D" | ||||
| bind-key -n C-k if-shell "$is_vim" "send-keys C-k"  "select-pane -U" | ||||
| bind-key -n C-l if-shell "$is_vim" "send-keys C-l"  "select-pane -R" | ||||
| bind-key -n C-\ if-shell "$is_vim" "send-keys C-\\" "select-pane -l" | ||||
| bind-key -T copy-mode-vi C-h select-pane -L | ||||
| bind-key -T copy-mode-vi C-j select-pane -D | ||||
| bind-key -T copy-mode-vi C-k select-pane -U | ||||
| bind-key -T copy-mode-vi C-l select-pane -R | ||||
| bind-key -T copy-mode-vi C-\ select-pane -l | ||||
|  | ||||
| # moving between windows with vim movement keys | ||||
| bind -r C-h select-window -t :- | ||||
| bind -r C-l select-window -t :+ | ||||
|  | ||||
| # resize panes with vim movement keys | ||||
| bind -r H resize-pane -L 5 | ||||
| bind -r J resize-pane -D 5 | ||||
| bind -r K resize-pane -U 5 | ||||
| bind -r L resize-pane -R 5 | ||||
|  | ||||
| ###################### | ||||
| ### DESIGN CHANGES ### | ||||
| ###################### | ||||
|  | ||||
| # panes | ||||
| set -g pane-border-fg black | ||||
| set -g pane-active-border-fg brightred | ||||
|  | ||||
| ## Status bar design | ||||
| # status line | ||||
| # set -g status-utf8 on | ||||
| set -g status-justify left | ||||
| set -g status-bg default | ||||
| set -g status-fg colour12 | ||||
| set -g status-interval 2 | ||||
|  | ||||
| # messaging | ||||
| set -g message-fg black | ||||
| set -g message-bg yellow | ||||
| set -g message-command-fg blue | ||||
| set -g message-command-bg black | ||||
|  | ||||
| #window mode | ||||
| setw -g mode-bg colour6 | ||||
| setw -g mode-fg colour0 | ||||
|  | ||||
| # window status | ||||
| setw -g window-status-format " #F#I:#W#F " | ||||
| setw -g window-status-current-format " #F#I:#W#F " | ||||
| setw -g window-status-format "#[fg=magenta]#[bg=black] #I #[bg=cyan]#[fg=colour8] #W " | ||||
| setw -g window-status-current-format "#[bg=brightmagenta]#[fg=colour8] #I #[fg=colour8]#[bg=colour14] #W " | ||||
| setw -g window-status-current-bg colour0 | ||||
| setw -g window-status-current-fg colour11 | ||||
| setw -g window-status-current-attr dim | ||||
| setw -g window-status-bg green | ||||
| setw -g window-status-fg black | ||||
| setw -g window-status-attr reverse | ||||
|  | ||||
| # Info on left (I don't have a session display for now) | ||||
| set -g status-left '' | ||||
|  | ||||
| # loud or quiet? | ||||
| set-option -g visual-activity off | ||||
| set-option -g visual-bell off | ||||
| set-option -g visual-silence off | ||||
| set-window-option -g monitor-activity off | ||||
| set-option -g bell-action none | ||||
|  | ||||
| set -g default-terminal "screen-256color" | ||||
|  | ||||
| # The modes { | ||||
| setw -g clock-mode-colour colour135 | ||||
| setw -g mode-attr bold | ||||
| setw -g mode-fg colour196 | ||||
| setw -g mode-bg colour238 | ||||
|  | ||||
| # } | ||||
| # The panes { | ||||
|  | ||||
| set -g pane-border-bg colour235 | ||||
| set -g pane-border-fg colour238 | ||||
| set -g pane-active-border-bg colour236 | ||||
| set -g pane-active-border-fg colour51 | ||||
|  | ||||
| # } | ||||
| # The statusbar { | ||||
|  | ||||
| set -g status-position bottom | ||||
| set -g status-bg colour234 | ||||
| set -g status-fg colour137 | ||||
| set -g status-attr dim | ||||
| set -g status-left '#[fg=colour81,bg=colour241,bold] #S ' | ||||
| set -g status-right '#[fg=colour233,bg=colour241,bold] %d/%m #[fg=colour233,bg=colour245,bold] %H:%M:%S ' | ||||
| set -g status-right-length 50 | ||||
| set -g status-left-length 20 | ||||
|  | ||||
| setw -g window-status-current-fg colour81 | ||||
| setw -g window-status-current-bg colour238 | ||||
| setw -g window-status-current-attr bold | ||||
| setw -g window-status-current-format ' #I#[fg=colour250]:#[fg=colour255]#W#[fg=colour50]#F ' | ||||
|  | ||||
| setw -g window-status-fg colour138 | ||||
| setw -g window-status-bg colour235 | ||||
| setw -g window-status-attr none | ||||
| setw -g window-status-format ' #I#[fg=colour237]:#[fg=colour250]#W#[fg=colour244]#F ' | ||||
|  | ||||
| setw -g window-status-bell-attr bold | ||||
| setw -g window-status-bell-fg colour255 | ||||
| setw -g window-status-bell-bg colour1 | ||||
|  | ||||
| # } | ||||
| # The messages { | ||||
|  | ||||
| set -g message-attr bold | ||||
| set -g message-fg colour232 | ||||
| set -g message-bg colour166 | ||||
|  | ||||
| # } | ||||
|  | ||||
|  | ||||
| ## Plugins | ||||
| # Supports `github_username/repo` or full git repo URLs | ||||
| set -g @tpm_plugins 'tmux-plugins/tpm' | ||||
| set -g @tpm_plugins 'tmux-plugins/tmux-sensible' | ||||
| #  tmux-plugins/tmux-resurrect    \ | ||||
| #  tmux-plugins/tmux-continuum    \ | ||||
|  | ||||
| ## tmux-continuum: automatic restore | ||||
| #set -g @continuum-restore 'on' | ||||
| set -g @plugin 'christoomey/vim-tmux-navigator' | ||||
| set -g @plugin 'tmux-plugins/tmux-yank' | ||||
|  | ||||
| set -g @plugin 'egel/tmux-gruvbox' | ||||
| set -g @tmux-gruvbox 'dark' # or 'light' | ||||
|  | ||||
| # Keep this line at the very bottom of tmux.conf. | ||||
| run-shell '~/.tmux/plugins/tpm/tpm' | ||||
|   | ||||
 Submodule tmux/.tmux/plugins/tpm deleted from 108f76b628
									
								
							| @@ -234,6 +234,8 @@ fileviewer *.[1-8] man ./%c | col -b | ||||
|  | ||||
| " Images | ||||
| filextype *.bmp,*.jpg,*.jpeg,*.png,*.gif,*.xpm | ||||
|         \ {View in feh} | ||||
|         \ feh %f, | ||||
|         \ {View in sxiv} | ||||
|         \ sxiv %f, | ||||
|         \ {View in gpicview} | ||||
| @@ -243,6 +245,9 @@ filextype *.bmp,*.jpg,*.jpeg,*.png,*.gif,*.xpm | ||||
| fileviewer *.bmp,*.jpg,*.jpeg,*.png,*.gif,*.xpm | ||||
|          \ convert -identify %f -verbose /dev/null | ||||
|  | ||||
| filetype *.svg inkscape %f | ||||
|  | ||||
|  | ||||
| " OpenRaster | ||||
| filextype *.ora | ||||
|         \ {Edit in MyPaint} | ||||
| @@ -329,7 +334,7 @@ filetype *.7z | ||||
| fileviewer *.7z 7z l %c | ||||
|  | ||||
| " Office files | ||||
| filextype *.odt,*.doc,*.docx,*.xls,*.xlsx,*.odp,*.pptx libreoffice %f & | ||||
| filextype *.odt,*.doc,*.docx,*.xls,*.xlsx,*.odp,*.pptx,*.ods,*.csv libreoffice %f & | ||||
| fileviewer *.doc catdoc %c | ||||
| fileviewer *.docx docx2txt.pl %f - | ||||
|  | ||||
|   | ||||
							
								
								
									
										118
									
								
								vim/.vim/config/base.vim
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										118
									
								
								vim/.vim/config/base.vim
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,118 @@ | ||||
| " Lines number | ||||
| set number | ||||
|  | ||||
| " Always show the statusline | ||||
| set laststatus=2 | ||||
|  | ||||
| " Necessary to show Unicode glyphs | ||||
| set encoding=utf8 | ||||
|  | ||||
| " smart tab | ||||
| set smartindent | ||||
|  | ||||
| " Tab to..? | ||||
| set shiftround | ||||
|  | ||||
| " Display edition mode | ||||
| set showmode | ||||
|  | ||||
| " Ignore case in search mode | ||||
| set ignorecase | ||||
|  | ||||
| " Override the 'ignorecase' option if the search pattern | ||||
| " contains upper case characters. | ||||
| set smartcase | ||||
|  | ||||
| " Display uncomplete commands (??) | ||||
| set showcmd | ||||
|  | ||||
| " Vim file name completion relative to current file | ||||
| set autochdir | ||||
|  | ||||
| " While typing a search command, show immediately where the | ||||
| " so far typed pattern matches. | ||||
| set incsearch | ||||
|  | ||||
| " Use <C-L> to clear the highlighting of :set hlsearch. | ||||
| set hlsearch | ||||
| if maparg('<C-L>', 'n') ==# '' | ||||
|   nnoremap <silent> <C-L> :nohlsearch<C-R>=has('diff')?'<Bar>diffupdate':''<CR><CR><C-L> | ||||
| endif | ||||
|  | ||||
| " Turn on the WiLd menu | ||||
| set wildmenu | ||||
|  | ||||
| " Ignore compiled files | ||||
| set wildignore=*.o,*~,*.pyc,*.swp | ||||
|  | ||||
| " Wrap lines | ||||
| set wrap | ||||
|  | ||||
| " Turn backup off, since most stuff is in SVN, git et.c anyway... | ||||
| set nobackup | ||||
| set noswapfile | ||||
|  | ||||
| " Having relative number for lines | ||||
| set relativenumber | ||||
|  | ||||
| " Display tab and ends of lines | ||||
| " Shortcut to rapidly toggle `set list` | ||||
| nmap <leader>L :set list!<CR> | ||||
|  | ||||
| " Behaviour of tab | ||||
| set tabstop=4 | ||||
| set shiftwidth=4 | ||||
| set softtabstop=4 | ||||
| set expandtab | ||||
|  | ||||
| " Folding | ||||
| set foldmethod=indent | ||||
|  | ||||
| " Use the same symbols as TextMate for tabstops and EOLs | ||||
| " set listchars=tab:▸\ ,eol:¬ | ||||
| set listchars=nbsp:¤,tab:··,trail:¤,extends:▶,precedes:◀ | ||||
|  | ||||
| " allow backspacing over everything in insert mode | ||||
| set backspace=indent,eol,start | ||||
|  | ||||
| set history=50		" keep 50 lines of command line history | ||||
| set ruler		" show the cursor position all the time | ||||
| " | ||||
| " In many terminal emulators the mouse works just fine, thus enable it. | ||||
| if has('mouse') | ||||
|   set mouse=a | ||||
| endif | ||||
|  | ||||
| " Decorations | ||||
| " ====================  | ||||
| " Switch syntax highlighting on, when the terminal has colors | ||||
| " Also switch on highlighting the last used search pattern. | ||||
| if &t_Co > 2 || has("gui_running") | ||||
|   syntax on | ||||
| endif | ||||
|  | ||||
| " When set to "dark", Vim will try to use colors that look | ||||
| " good on a dark background. When set to "light", Vim will | ||||
| " try to use colors that look good on a light background. | ||||
| " Any other value is illegal. | ||||
| set background=dark | ||||
|  | ||||
| " Color Scheme | ||||
| colorscheme zenburn | ||||
|  | ||||
| set cursorline | ||||
|  | ||||
| " Align blocks of text and keep them selected | ||||
| vmap < <gv | ||||
| vmap > >gv | ||||
|  | ||||
| " Spelling | ||||
| " set spelllang=fr | ||||
| autocmd BufRead,BufNewFile *.{md,tex,rst} setlocal spell spelllang=fr | ||||
| autocmd FileType tex,latex,markdown,md,rst setlocal spell spelllang=fr | ||||
|  | ||||
| " Remove trailing whitespace at the end of lines | ||||
| autocmd BufWritePre * %s/\s\+$//e | ||||
|  | ||||
| " Different color for far columns | ||||
| execute "set colorcolumn=" . join(range(81,335), ',') | ||||
							
								
								
									
										24
									
								
								vim/.vim/config/plugins.vim
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								vim/.vim/config/plugins.vim
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,24 @@ | ||||
| " lightline -> no need showmod | ||||
| set noshowmode | ||||
| let g:lightline = { | ||||
|       \ 'colorscheme': 'selenized_dark', | ||||
|       \ 'active': { | ||||
|       \   'left': [ [ 'mode', 'paste' ], | ||||
|       \             [ 'gitbranch', 'readonly', 'filename', 'modified' ] ] | ||||
|       \ }, | ||||
|       \ 'component_function': { | ||||
|       \   'gitbranch': 'FugitiveHead' | ||||
|       \ }, | ||||
|       \ } | ||||
|  | ||||
| " Supertab | ||||
| let g:SuperTabDefaultCompletionType = "context" | ||||
|  | ||||
| " Airline | ||||
| let g:airline_powerline_fonts = 1 | ||||
| let g:tmuxline_powerline_separators = 0 | ||||
|  | ||||
| " Nerdtree | ||||
| let NERDTreeIgnore = ['.pyc$'] | ||||
| "autocmd VimEnter * NERDTree | ||||
|  | ||||
							
								
								
									
										61
									
								
								vim/.vimrc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								vim/.vimrc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,61 @@ | ||||
| set nocompatible              " be iMproved, required | ||||
| noremap <Space> <Nop> | ||||
| map <Space> <Leader> | ||||
| let mapleader = "\<Space>" | ||||
| let localleader = "\<Space>" | ||||
|  | ||||
| " set the runtime path to include plug.com and initialize | ||||
| call plug#begin('~/.vim/plugged') | ||||
|  | ||||
| "" plug.vim management | ||||
| Plug 'junegunn/vim-plug' | ||||
|  | ||||
| " Airline statusline | ||||
| Plug 'itchyny/lightline.vim' | ||||
|  | ||||
|  | ||||
| "" Basic config for vim | ||||
| Plug 'tpope/vim-sensible' | ||||
|  | ||||
| " Git integration | ||||
| Plug 'tpope/vim-fugitive' | ||||
|  | ||||
| " Nerdtree | ||||
| Plug 'scrooloose/nerdtree' | ||||
| Plug 'Xuyuanp/nerdtree-git-plugin' | ||||
|  | ||||
|  | ||||
| " Change surround | ||||
| Plug 'tpope/vim-surround' | ||||
|  | ||||
| " Clever substitute | ||||
| Plug 'tpope/tpope-vim-abolish' | ||||
|  | ||||
| " Repeat | ||||
| Plug 'tpope/vim-repeat' | ||||
|  | ||||
| " Git on lines | ||||
| Plug 'airblade/vim-gitgutter' | ||||
|  | ||||
| " Polyglot synthax hightlight autodetect | ||||
| Plug 'sheerun/vim-polyglot' | ||||
|  | ||||
| " Show indent lines | ||||
| Plug 'Yggdroot/indentLine' | ||||
|  | ||||
| " Tmux integration | ||||
| Plug 'christoomey/vim-tmux-navigator' | ||||
|  | ||||
| "" Color scheme | ||||
| Plug 'jnurmine/Zenburn' | ||||
|  | ||||
| " All of your Plugs must be added before the following line | ||||
| call plug#end()            " required | ||||
| " | ||||
|  | ||||
| " import config from ./config | ||||
| " runtime! config/**/*.vim  | ||||
| "runtime! config/*.vim  | ||||
| runtime! config/base.vim  | ||||
| runtime! config/plugins.vim  | ||||
| set conceallevel=0 | ||||
| @@ -1,4 +1,5 @@ | ||||
| fpath+=$ZDOTDIR/pure | ||||
| fpath+=$ZDOTDIR/zfunc | ||||
|  | ||||
| autoload -U compinit | ||||
| zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}' # menu select=2 | ||||
| @@ -11,6 +12,8 @@ _comp_options+=(globdots)		# Include hidden files. | ||||
| autoload -U promptinit; promptinit | ||||
| prompt pure | ||||
|  | ||||
| export PURE_PROMPT_SYMBOL='%f%n%f%F{magenta}❯' | ||||
|  | ||||
| # Cursor for vimode | ||||
| # ZLE hooks for prompt's vi mode status | ||||
| function zle-line-init zle-keymap-select { | ||||
| @@ -41,7 +44,10 @@ alias egrep='egrep --color=auto' | ||||
| alias cp='cp -iv' | ||||
| alias mv='mv -iv' | ||||
| alias rm='rm -i' | ||||
| alias cat='bat -pp' | ||||
| alias less='bat -p' | ||||
|  | ||||
| # Newsboat | ||||
| alias newsboat='tmux new -As newsboat newsboat' | ||||
|  | ||||
|  | ||||
| @@ -68,10 +74,14 @@ bindkey -M vicmd 'j' history-substring-search-down | ||||
| # Auto-ls | ||||
| source ~/.config/zsh/auto-ls/auto-ls.zsh | ||||
|  | ||||
| # Pyenv | ||||
| eval "$(pyenv init --path)" | ||||
|  | ||||
|  | ||||
| source ~/.config/zsh/completion.zsh | ||||
| source ~/.config/zsh/key-bindings.zsh | ||||
|  | ||||
| # password-store | ||||
| _fzf_complete_pass() { | ||||
|   ARGS="$@" | ||||
|   _fzf_complete '' "$@" < <( | ||||
| @@ -79,3 +89,11 @@ _fzf_complete_pass() { | ||||
|   ) | ||||
| } | ||||
|  | ||||
| # yarn global commands | ||||
| export PATH="$(yarn global bin):$PATH" | ||||
|  | ||||
| # zk | ||||
| export ZK_NOTEBOOK_DIR="/home/lafrite/Nextcloud/Documents/zettelkasten/" | ||||
|  | ||||
| # tea | ||||
| PROG=tea _CLI_ZSH_AUTOCOMPLETE_HACK=1 source "/home/lafrite/.config/tea/autocomplete.zsh" | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| export TERM='rxvt-256color' | ||||
| #export TERM='rxvt-256color' | ||||
|  | ||||
| # XDG | ||||
| export XDG_CONFIG_HOME=$HOME/.config | ||||
|   | ||||
		Reference in New Issue
	
	Block a user