1 Commits
tom ... vif

Author SHA1 Message Date
230f82777c BUG: Chromium ne se lance plus sous Xorg 2021-07-28 09:02:23 +02:00
47 changed files with 135 additions and 1758 deletions

View File

@ -1,48 +0,0 @@
[General]
addGPGId=true
alwaysOnTop=false
autoPull=true
autoPush=true
autoclearPanelSeconds=10
autoclearSeconds=10
avoidCapitals=false
avoidNumbers=false
clipBoardType=2
displayAsIs=false
gitExecutable=/usr/bin/git
gpgExecutable=/usr/bin/gpg2
hideContent=false
hideOnClose=true
hidePassword=true
lessRandom=false
noLineWrapping=false
passExecutable=/usr/bin/pass
passStore=/home/od/.password-store/
passTemplate=login\nurl
passwordChars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890~!@#$%^&*()_-+={}[]|:;<>,.?"
passwordCharsselection=0
passwordLength=16
pwgenExecutable=/usr/bin/pwgen
qrencodeExecutable=
startMinimized=false
templateAllFields=false
useAutoclear=false
useAutoclearPanel=false
useGit=true
useMonospace=false
useOtp=false
usePass=true
usePwgen=true
useQrencode=false
useSelection=false
useSymbols=false
useTemplate=true
useTrayIcon=true
version=1.4.0
[mainwindow]
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x5\x81\0\0\x3\x90\0\0\0\0\0\0\0\0\0\0\x5\x81\0\0\x3\x90\0\0\0\0\0\0\0\0\x5\x82\0\0\0\0\0\0\0\0\0\0\x5\x81\0\0\x3\x90)
maximized=false
pos=@Point(0 0)
savestate=@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\0\0\0\x5\x82\0\0\x3G\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x1\0\0\0\x2\0\0\0\x1\0\0\0\xe\0t\0o\0o\0l\0\x42\0\x61\0r\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)
size=@Size(1410 913)

View File

@ -1,3 +1,3 @@
# Permet à Chromium de se lancer dans Wayland # Permet à Chromium de se lancer dans Wayland
--enable-features=UseOzonePlatform #--enable-features=UseOzonePlatform
--ozone-platform=wayland #--ozone-platform=wayland

View File

@ -1,18 +1,2 @@
# Active wayland pour Firefox # Active wayland pour Firefox
MOZ_ENABLE_WAYLAND=1 MOZ_ENABLE_WAYLAND=1
# Modifie le comportement JAVA pour PHPStorm
_JAVA_AWT_WM_NONREPARENTING=1
# Demandé par les applications QT (notamment Slack)
QT_QPA_PLATFORM=wayland
# Pour les applications utilisant Electron
# Cf. https://www.electronjs.org/docs/latest/api/environment-variables
ELECTRON_OZONE_PLATFORM_HINT=wayland
# Pour wayland
SDL_VIDEODRIVER=wayland
# Session : déjà fait par sway-systemd. Cf. https://github.com/alebastr/sway-systemd/blob/main/src/session.sh
# Regarder dans .config/sway/config, à la fin ça importe /etc/sway/config.d/ qui contient 10-systemd-session.conf qui exécute session.sh
# Ce qui import XDG_SESSION_TYPE, XDG_SESSION_DESKTOP, XDG_CURRENT_DESKTOP, etc.
#export XDG_SESSION_TYPE=wayland
#export XDG_SESSION_DESKTOP=sway
# gammastep-indicator n'est plus utilisé dans mon Wayland
#export XDG_CURRENT_DESKTOP=sway # for gammastep-indicator

View File

@ -1,10 +1,5 @@
[general] [general]
location-provider=manual location-provider=manual
# 5500-6500
temp-day=5700
# 3000-4000
temp-night=3500
adjustment-method=wayland
# Lieu : Neudorf, chez Agnès # Lieu : Neudorf, chez Agnès
[manual] [manual]

View File

@ -165,7 +165,7 @@ bindsym $mod+r mode "resize"
assign [class="jetbrains-idea|Code"] 1 assign [class="jetbrains-idea|Code"] 1
assign [class="Google-chrome|Vivaldi-stable|Opera|Firefox|Navigator|Nightly|Chromium"] 2 assign [class="Google-chrome|Vivaldi-stable|Opera|Firefox|Navigator|Nightly|Chromium"] 2
assign [class="Thunderbird|Mail|jetbrains-phpstorm"] 3 assign [class="Thunderbird|Mail|jetbrains-phpstorm"] 3
assign [class="Mattermost|mattermost-desktop|Rambox|Slack|Scudcloud|Gitter|Dino|Hamsket"] 4 assign [class="Mattermost|mattermost-desktop|Rambox|Slack|Scudcloud|Gitter|Dino"] 4
##### STATUS BAR ##### STATUS BAR
@ -240,7 +240,7 @@ smart_gaps on
exec_always --no-startup-id "kill -9 `ps aux | grep random_wallpaper |grep -v 'grep'| awk '{print $2}'`; random_wallpaper &" exec_always --no-startup-id "kill -9 `ps aux | grep random_wallpaper |grep -v 'grep'| awk '{print $2}'`; random_wallpaper &"
# Hasmter indicator # Hasmter indicator
#exec --no-startup-id hamster exec --no-startup-id hamster
# Clipit : Presse-papiers pour le bureau # Clipit : Presse-papiers pour le bureau
exec --no-startup-id clipit exec --no-startup-id clipit

View File

@ -1,21 +0,0 @@
background #001e26
foreground #708183
cursor #708183
selection_background #002731
color0 #002731
color8 #465a61
color1 #d01b24
color9 #bd3612
color2 #728905
color10 #465a61
color3 #a57705
color11 #52676f
color4 #2075c7
color12 #708183
color5 #c61b6e
color13 #5856b9
color6 #259185
color14 #81908f
color7 #e9e2cb
color15 #fcf4dc
selection_foreground #001e26

View File

@ -184,8 +184,7 @@ rectangle_select_modifiers ctrl+alt
allow_remote_control no allow_remote_control no
# The value of the TERM environment variable to set # The value of the TERM environment variable to set
#term xterm-kitty term xterm-kitty
term xterm-256color
# The width (in pts) of window borders. Will be rounded to the nearest number of pixels based on screen resolution. # The width (in pts) of window borders. Will be rounded to the nearest number of pixels based on screen resolution.
# Note that borders are displayed only when more than one window is visible. They are meant to separate multiple windows. # Note that borders are displayed only when more than one window is visible. They are meant to separate multiple windows.
@ -426,5 +425,5 @@ macos_option_as_alt yes
x11_bell_volume 80 x11_bell_volume 80
# Ajout du thème Solarized Light sur https://github.com/dexpota/kitty-themes # Ajout du thème Solarized Light sur https://github.com/dexpota/kitty-themes
include ./dark.conf include ./theme.conf

1
.config/kitty/theme.conf Symbolic link
View File

@ -0,0 +1 @@
./Solarized_Dark_-_Patched.conf

View File

@ -1,970 +0,0 @@
--[[
=====================================================================
==================== READ THIS BEFORE CONTINUING ====================
=====================================================================
======== .-----. ========
======== .----------------------. | === | ========
======== |.-""""""""""""""""""-.| |-----| ========
======== || || | === | ========
======== || KICKSTART.NVIM || |-----| ========
======== || || | === | ========
======== || || |-----| ========
======== ||:Tutor || |:::::| ========
======== |'-..................-'| |____o| ========
======== `"")----------------(""` ___________ ========
======== /::::::::::| |::::::::::\ \ no mouse \ ========
======== /:::========| |==hjkl==:::\ \ required \ ========
======== '""""""""""""' '""""""""""""' '""""""""""' ========
======== ========
=====================================================================
=====================================================================
What is Kickstart?
Kickstart.nvim is *not* a distribution.
Kickstart.nvim is a starting point for your own configuration.
The goal is that you can read every line of code, top-to-bottom, understand
what your configuration is doing, and modify it to suit your needs.
Once you've done that, you can start exploring, configuring and tinkering to
make Neovim your own! That might mean leaving Kickstart just the way it is for a while
or immediately breaking it into modular pieces. It's up to you!
If you don't know anything about Lua, I recommend taking some time to read through
a guide. One possible example which will only take 10-15 minutes:
- https://learnxinyminutes.com/docs/lua/
After understanding a bit more about Lua, you can use `:help lua-guide` as a
reference for how Neovim integrates Lua.
- :help lua-guide
- (or HTML version): https://neovim.io/doc/user/lua-guide.html
Kickstart Guide:
TODO: The very first thing you should do is to run the command `:Tutor` in Neovim.
If you don't know what this means, type the following:
- <escape key>
- :
- Tutor
- <enter key>
(If you already know the Neovim basics, you can skip this step.)
Once you've completed that, you can continue working through **AND READING** the rest
of the kickstart init.lua.
Next, run AND READ `:help`.
This will open up a help window with some basic information
about reading, navigating and searching the builtin help documentation.
This should be the first place you go to look when you're stuck or confused
with something. It's one of my favorite Neovim features.
MOST IMPORTANTLY, we provide a keymap "<space>sh" to [s]earch the [h]elp documentation,
which is very useful when you're not exactly sure of what you're looking for.
I have left several `:help X` comments throughout the init.lua
These are hints about where to find more information about the relevant settings,
plugins or Neovim features used in Kickstart.
NOTE: Look for lines like this
Throughout the file. These are for you, the reader, to help you understand what is happening.
Feel free to delete them once you know what you're doing, but they should serve as a guide
for when you are first encountering a few different constructs in your Neovim config.
If you experience any errors while trying to install kickstart, run `:checkhealth` for more info.
I hope you enjoy your Neovim journey,
- TJ
P.S. You can delete this when you're done too. It's your config now! :)
--]]
-- Set <space> as the leader key
-- See `:help mapleader`
-- NOTE: Must happen before plugins are loaded (otherwise wrong leader will be used)
vim.g.mapleader = ' '
vim.g.maplocalleader = ' '
-- Set to true if you have a Nerd Font installed and selected in the terminal
vim.g.have_nerd_font = false
-- [[ Setting options ]]
-- See `:help vim.opt`
-- NOTE: You can change these options as you wish!
-- For more options, you can see `:help option-list`
-- Make line numbers default
vim.opt.number = true
-- You can also add relative line numbers, to help with jumping.
-- Experiment for yourself to see if you like it!
-- vim.opt.relativenumber = true
-- Enable mouse mode, can be useful for resizing splits for example!
vim.opt.mouse = 'a'
-- Don't show the mode, since it's already in the status line
vim.opt.showmode = false
-- Sync clipboard between OS and Neovim.
-- Schedule the setting after `UiEnter` because it can increase startup-time.
-- Remove this option if you want your OS clipboard to remain independent.
-- See `:help 'clipboard'`
vim.schedule(function()
vim.opt.clipboard = 'unnamedplus'
end)
-- Enable break indent
vim.opt.breakindent = true
-- Save undo history
vim.opt.undofile = true
-- Case-insensitive searching UNLESS \C or one or more capital letters in the search term
vim.opt.ignorecase = true
vim.opt.smartcase = true
-- Keep signcolumn on by default
vim.opt.signcolumn = 'yes'
-- Decrease update time
vim.opt.updatetime = 250
-- Decrease mapped sequence wait time
-- Displays which-key popup sooner
vim.opt.timeoutlen = 300
-- Configure how new splits should be opened
vim.opt.splitright = true
vim.opt.splitbelow = true
-- Sets how neovim will display certain whitespace characters in the editor.
-- See `:help 'list'`
-- and `:help 'listchars'`
vim.opt.list = true
vim.opt.listchars = { tab = '» ', trail = '·', nbsp = '' }
-- Preview substitutions live, as you type!
vim.opt.inccommand = 'split'
-- Show which line your cursor is on
vim.opt.cursorline = true
-- Minimal number of screen lines to keep above and below the cursor.
vim.opt.scrolloff = 10
-- [[ Basic Keymaps ]]
-- See `:help vim.keymap.set()`
-- Clear highlights on search when pressing <Esc> in normal mode
-- See `:help hlsearch`
vim.keymap.set('n', '<Esc>', '<cmd>nohlsearch<CR>')
-- Diagnostic keymaps
vim.keymap.set('n', '<leader>q', vim.diagnostic.setloclist, { desc = 'Open diagnostic [Q]uickfix list' })
-- Exit terminal mode in the builtin terminal with a shortcut that is a bit easier
-- for people to discover. Otherwise, you normally need to press <C-\><C-n>, which
-- is not what someone will guess without a bit more experience.
--
-- NOTE: This won't work in all terminal emulators/tmux/etc. Try your own mapping
-- or just use <C-\><C-n> to exit terminal mode
vim.keymap.set('t', '<Esc><Esc>', '<C-\\><C-n>', { desc = 'Exit terminal mode' })
-- TIP: Disable arrow keys in normal mode
-- vim.keymap.set('n', '<left>', '<cmd>echo "Use h to move!!"<CR>')
-- vim.keymap.set('n', '<right>', '<cmd>echo "Use l to move!!"<CR>')
-- vim.keymap.set('n', '<up>', '<cmd>echo "Use k to move!!"<CR>')
-- vim.keymap.set('n', '<down>', '<cmd>echo "Use j to move!!"<CR>')
-- Keybinds to make split navigation easier.
-- Use CTRL+<hjkl> to switch between windows
--
-- See `:help wincmd` for a list of all window commands
vim.keymap.set('n', '<C-h>', '<C-w><C-h>', { desc = 'Move focus to the left window' })
vim.keymap.set('n', '<C-l>', '<C-w><C-l>', { desc = 'Move focus to the right window' })
vim.keymap.set('n', '<C-j>', '<C-w><C-j>', { desc = 'Move focus to the lower window' })
vim.keymap.set('n', '<C-k>', '<C-w><C-k>', { desc = 'Move focus to the upper window' })
-- [[ Basic Autocommands ]]
-- See `:help lua-guide-autocommands`
-- Highlight when yanking (copying) text
-- Try it with `yap` in normal mode
-- See `:help vim.highlight.on_yank()`
vim.api.nvim_create_autocmd('TextYankPost', {
desc = 'Highlight when yanking (copying) text',
group = vim.api.nvim_create_augroup('kickstart-highlight-yank', { clear = true }),
callback = function()
vim.highlight.on_yank()
end,
})
-- [[ Install `lazy.nvim` plugin manager ]]
-- See `:help lazy.nvim.txt` or https://github.com/folke/lazy.nvim for more info
local lazypath = vim.fn.stdpath 'data' .. '/lazy/lazy.nvim'
if not (vim.uv or vim.loop).fs_stat(lazypath) then
local lazyrepo = 'https://github.com/folke/lazy.nvim.git'
local out = vim.fn.system { 'git', 'clone', '--filter=blob:none', '--branch=stable', lazyrepo, lazypath }
if vim.v.shell_error ~= 0 then
error('Error cloning lazy.nvim:\n' .. out)
end
end ---@diagnostic disable-next-line: undefined-field
vim.opt.rtp:prepend(lazypath)
-- [[ Configure and install plugins ]]
--
-- To check the current status of your plugins, run
-- :Lazy
--
-- You can press `?` in this menu for help. Use `:q` to close the window
--
-- To update plugins you can run
-- :Lazy update
--
-- NOTE: Here is where you install your plugins.
require('lazy').setup({
-- NOTE: Plugins can be added with a link (or for a github repo: 'owner/repo' link).
'tpope/vim-sleuth', -- Detect tabstop and shiftwidth automatically
-- NOTE: Plugins can also be added by using a table,
-- with the first argument being the link and the following
-- keys can be used to configure plugin behavior/loading/etc.
--
-- Use `opts = {}` to force a plugin to be loaded.
--
-- Here is a more advanced example where we pass configuration
-- options to `gitsigns.nvim`. This is equivalent to the following Lua:
-- require('gitsigns').setup({ ... })
--
-- See `:help gitsigns` to understand what the configuration keys do
{ -- Adds git related signs to the gutter, as well as utilities for managing changes
'lewis6991/gitsigns.nvim',
opts = {
signs = {
add = { text = '+' },
change = { text = '~' },
delete = { text = '_' },
topdelete = { text = '' },
changedelete = { text = '~' },
},
},
},
-- NOTE: Plugins can also be configured to run Lua code when they are loaded.
--
-- This is often very useful to both group configuration, as well as handle
-- lazy loading plugins that don't need to be loaded immediately at startup.
--
-- For example, in the following configuration, we use:
-- event = 'VimEnter'
--
-- which loads which-key before all the UI elements are loaded. Events can be
-- normal autocommands events (`:help autocmd-events`).
--
-- Then, because we use the `config` key, the configuration only runs
-- after the plugin has been loaded:
-- config = function() ... end
{ -- Useful plugin to show you pending keybinds.
'folke/which-key.nvim',
event = 'VimEnter', -- Sets the loading event to 'VimEnter'
opts = {
icons = {
-- set icon mappings to true if you have a Nerd Font
mappings = vim.g.have_nerd_font,
-- If you are using a Nerd Font: set icons.keys to an empty table which will use the
-- default which-key.nvim defined Nerd Font icons, otherwise define a string table
keys = vim.g.have_nerd_font and {} or {
Up = '<Up> ',
Down = '<Down> ',
Left = '<Left> ',
Right = '<Right> ',
C = '<C-…> ',
M = '<M-…> ',
D = '<D-…> ',
S = '<S-…> ',
CR = '<CR> ',
Esc = '<Esc> ',
ScrollWheelDown = '<ScrollWheelDown> ',
ScrollWheelUp = '<ScrollWheelUp> ',
NL = '<NL> ',
BS = '<BS> ',
Space = '<Space> ',
Tab = '<Tab> ',
F1 = '<F1>',
F2 = '<F2>',
F3 = '<F3>',
F4 = '<F4>',
F5 = '<F5>',
F6 = '<F6>',
F7 = '<F7>',
F8 = '<F8>',
F9 = '<F9>',
F10 = '<F10>',
F11 = '<F11>',
F12 = '<F12>',
},
},
-- Document existing key chains
spec = {
{ '<leader>c', group = '[C]ode', mode = { 'n', 'x' } },
{ '<leader>d', group = '[D]ocument' },
{ '<leader>r', group = '[R]ename' },
{ '<leader>s', group = '[S]earch' },
{ '<leader>w', group = '[W]orkspace' },
{ '<leader>t', group = '[T]oggle' },
{ '<leader>h', group = 'Git [H]unk', mode = { 'n', 'v' } },
},
},
},
-- NOTE: Plugins can specify dependencies.
--
-- The dependencies are proper plugin specifications as well - anything
-- you do for a plugin at the top level, you can do for a dependency.
--
-- Use the `dependencies` key to specify the dependencies of a particular plugin
{ -- Fuzzy Finder (files, lsp, etc)
'nvim-telescope/telescope.nvim',
event = 'VimEnter',
branch = '0.1.x',
dependencies = {
'nvim-lua/plenary.nvim',
{ -- If encountering errors, see telescope-fzf-native README for installation instructions
'nvim-telescope/telescope-fzf-native.nvim',
-- `build` is used to run some command when the plugin is installed/updated.
-- This is only run then, not every time Neovim starts up.
build = 'make',
-- `cond` is a condition used to determine whether this plugin should be
-- installed and loaded.
cond = function()
return vim.fn.executable 'make' == 1
end,
},
{ 'nvim-telescope/telescope-ui-select.nvim' },
-- Useful for getting pretty icons, but requires a Nerd Font.
{ 'nvim-tree/nvim-web-devicons', enabled = vim.g.have_nerd_font },
},
config = function()
-- Telescope is a fuzzy finder that comes with a lot of different things that
-- it can fuzzy find! It's more than just a "file finder", it can search
-- many different aspects of Neovim, your workspace, LSP, and more!
--
-- The easiest way to use Telescope, is to start by doing something like:
-- :Telescope help_tags
--
-- After running this command, a window will open up and you're able to
-- type in the prompt window. You'll see a list of `help_tags` options and
-- a corresponding preview of the help.
--
-- Two important keymaps to use while in Telescope are:
-- - Insert mode: <c-/>
-- - Normal mode: ?
--
-- This opens a window that shows you all of the keymaps for the current
-- Telescope picker. This is really useful to discover what Telescope can
-- do as well as how to actually do it!
-- [[ Configure Telescope ]]
-- See `:help telescope` and `:help telescope.setup()`
require('telescope').setup {
-- You can put your default mappings / updates / etc. in here
-- All the info you're looking for is in `:help telescope.setup()`
--
-- defaults = {
-- mappings = {
-- i = { ['<c-enter>'] = 'to_fuzzy_refine' },
-- },
-- },
-- pickers = {}
extensions = {
['ui-select'] = {
require('telescope.themes').get_dropdown(),
},
},
}
-- Enable Telescope extensions if they are installed
pcall(require('telescope').load_extension, 'fzf')
pcall(require('telescope').load_extension, 'ui-select')
-- See `:help telescope.builtin`
local builtin = require 'telescope.builtin'
vim.keymap.set('n', '<leader>sh', builtin.help_tags, { desc = '[S]earch [H]elp' })
vim.keymap.set('n', '<leader>sk', builtin.keymaps, { desc = '[S]earch [K]eymaps' })
vim.keymap.set('n', '<leader>sf', builtin.find_files, { desc = '[S]earch [F]iles' })
vim.keymap.set('n', '<leader>ss', builtin.builtin, { desc = '[S]earch [S]elect Telescope' })
vim.keymap.set('n', '<leader>sw', builtin.grep_string, { desc = '[S]earch current [W]ord' })
vim.keymap.set('n', '<leader>sg', builtin.live_grep, { desc = '[S]earch by [G]rep' })
vim.keymap.set('n', '<leader>sd', builtin.diagnostics, { desc = '[S]earch [D]iagnostics' })
vim.keymap.set('n', '<leader>sr', builtin.resume, { desc = '[S]earch [R]esume' })
vim.keymap.set('n', '<leader>s.', builtin.oldfiles, { desc = '[S]earch Recent Files ("." for repeat)' })
vim.keymap.set('n', '<leader><leader>', builtin.buffers, { desc = '[ ] Find existing buffers' })
-- Slightly advanced example of overriding default behavior and theme
vim.keymap.set('n', '<leader>/', function()
-- You can pass additional configuration to Telescope to change the theme, layout, etc.
builtin.current_buffer_fuzzy_find(require('telescope.themes').get_dropdown {
winblend = 10,
previewer = false,
})
end, { desc = '[/] Fuzzily search in current buffer' })
-- It's also possible to pass additional configuration options.
-- See `:help telescope.builtin.live_grep()` for information about particular keys
vim.keymap.set('n', '<leader>s/', function()
builtin.live_grep {
grep_open_files = true,
prompt_title = 'Live Grep in Open Files',
}
end, { desc = '[S]earch [/] in Open Files' })
-- Shortcut for searching your Neovim configuration files
vim.keymap.set('n', '<leader>sn', function()
builtin.find_files { cwd = vim.fn.stdpath 'config' }
end, { desc = '[S]earch [N]eovim files' })
end,
},
-- LSP Plugins
{
-- `lazydev` configures Lua LSP for your Neovim config, runtime and plugins
-- used for completion, annotations and signatures of Neovim apis
'folke/lazydev.nvim',
ft = 'lua',
opts = {
library = {
-- Load luvit types when the `vim.uv` word is found
{ path = 'luvit-meta/library', words = { 'vim%.uv' } },
},
},
},
{ 'Bilal2453/luvit-meta', lazy = true },
{
-- Main LSP Configuration
'neovim/nvim-lspconfig',
dependencies = {
-- Automatically install LSPs and related tools to stdpath for Neovim
{ 'williamboman/mason.nvim', config = true }, -- NOTE: Must be loaded before dependants
'williamboman/mason-lspconfig.nvim',
'WhoIsSethDaniel/mason-tool-installer.nvim',
-- Useful status updates for LSP.
-- NOTE: `opts = {}` is the same as calling `require('fidget').setup({})`
{ 'j-hui/fidget.nvim', opts = {} },
-- Allows extra capabilities provided by nvim-cmp
'hrsh7th/cmp-nvim-lsp',
},
config = function()
-- Brief aside: **What is LSP?**
--
-- LSP is an initialism you've probably heard, but might not understand what it is.
--
-- LSP stands for Language Server Protocol. It's a protocol that helps editors
-- and language tooling communicate in a standardized fashion.
--
-- In general, you have a "server" which is some tool built to understand a particular
-- language (such as `gopls`, `lua_ls`, `rust_analyzer`, etc.). These Language Servers
-- (sometimes called LSP servers, but that's kind of like ATM Machine) are standalone
-- processes that communicate with some "client" - in this case, Neovim!
--
-- LSP provides Neovim with features like:
-- - Go to definition
-- - Find references
-- - Autocompletion
-- - Symbol Search
-- - and more!
--
-- Thus, Language Servers are external tools that must be installed separately from
-- Neovim. This is where `mason` and related plugins come into play.
--
-- If you're wondering about lsp vs treesitter, you can check out the wonderfully
-- and elegantly composed help section, `:help lsp-vs-treesitter`
-- This function gets run when an LSP attaches to a particular buffer.
-- That is to say, every time a new file is opened that is associated with
-- an lsp (for example, opening `main.rs` is associated with `rust_analyzer`) this
-- function will be executed to configure the current buffer
vim.api.nvim_create_autocmd('LspAttach', {
group = vim.api.nvim_create_augroup('kickstart-lsp-attach', { clear = true }),
callback = function(event)
-- NOTE: Remember that Lua is a real programming language, and as such it is possible
-- to define small helper and utility functions so you don't have to repeat yourself.
--
-- In this case, we create a function that lets us more easily define mappings specific
-- for LSP related items. It sets the mode, buffer and description for us each time.
local map = function(keys, func, desc, mode)
mode = mode or 'n'
vim.keymap.set(mode, keys, func, { buffer = event.buf, desc = 'LSP: ' .. desc })
end
-- Jump to the definition of the word under your cursor.
-- This is where a variable was first declared, or where a function is defined, etc.
-- To jump back, press <C-t>.
map('gd', require('telescope.builtin').lsp_definitions, '[G]oto [D]efinition')
-- Find references for the word under your cursor.
map('gr', require('telescope.builtin').lsp_references, '[G]oto [R]eferences')
-- Jump to the implementation of the word under your cursor.
-- Useful when your language has ways of declaring types without an actual implementation.
map('gI', require('telescope.builtin').lsp_implementations, '[G]oto [I]mplementation')
-- Jump to the type of the word under your cursor.
-- Useful when you're not sure what type a variable is and you want to see
-- the definition of its *type*, not where it was *defined*.
map('<leader>D', require('telescope.builtin').lsp_type_definitions, 'Type [D]efinition')
-- Fuzzy find all the symbols in your current document.
-- Symbols are things like variables, functions, types, etc.
map('<leader>ds', require('telescope.builtin').lsp_document_symbols, '[D]ocument [S]ymbols')
-- Fuzzy find all the symbols in your current workspace.
-- Similar to document symbols, except searches over your entire project.
map('<leader>ws', require('telescope.builtin').lsp_dynamic_workspace_symbols, '[W]orkspace [S]ymbols')
-- Rename the variable under your cursor.
-- Most Language Servers support renaming across files, etc.
map('<leader>rn', vim.lsp.buf.rename, '[R]e[n]ame')
-- Execute a code action, usually your cursor needs to be on top of an error
-- or a suggestion from your LSP for this to activate.
map('<leader>ca', vim.lsp.buf.code_action, '[C]ode [A]ction', { 'n', 'x' })
-- WARN: This is not Goto Definition, this is Goto Declaration.
-- For example, in C this would take you to the header.
map('gD', vim.lsp.buf.declaration, '[G]oto [D]eclaration')
-- The following two autocommands are used to highlight references of the
-- word under your cursor when your cursor rests there for a little while.
-- See `:help CursorHold` for information about when this is executed
--
-- When you move your cursor, the highlights will be cleared (the second autocommand).
local client = vim.lsp.get_client_by_id(event.data.client_id)
if client and client.supports_method(vim.lsp.protocol.Methods.textDocument_documentHighlight) then
local highlight_augroup = vim.api.nvim_create_augroup('kickstart-lsp-highlight', { clear = false })
vim.api.nvim_create_autocmd({ 'CursorHold', 'CursorHoldI' }, {
buffer = event.buf,
group = highlight_augroup,
callback = vim.lsp.buf.document_highlight,
})
vim.api.nvim_create_autocmd({ 'CursorMoved', 'CursorMovedI' }, {
buffer = event.buf,
group = highlight_augroup,
callback = vim.lsp.buf.clear_references,
})
vim.api.nvim_create_autocmd('LspDetach', {
group = vim.api.nvim_create_augroup('kickstart-lsp-detach', { clear = true }),
callback = function(event2)
vim.lsp.buf.clear_references()
vim.api.nvim_clear_autocmds { group = 'kickstart-lsp-highlight', buffer = event2.buf }
end,
})
end
-- The following code creates a keymap to toggle inlay hints in your
-- code, if the language server you are using supports them
--
-- This may be unwanted, since they displace some of your code
if client and client.supports_method(vim.lsp.protocol.Methods.textDocument_inlayHint) then
map('<leader>th', function()
vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled { bufnr = event.buf })
end, '[T]oggle Inlay [H]ints')
end
end,
})
-- Change diagnostic symbols in the sign column (gutter)
-- if vim.g.have_nerd_font then
-- local signs = { ERROR = '', WARN = '', INFO = '', HINT = '' }
-- local diagnostic_signs = {}
-- for type, icon in pairs(signs) do
-- diagnostic_signs[vim.diagnostic.severity[type]] = icon
-- end
-- vim.diagnostic.config { signs = { text = diagnostic_signs } }
-- end
-- LSP servers and clients are able to communicate to each other what features they support.
-- By default, Neovim doesn't support everything that is in the LSP specification.
-- When you add nvim-cmp, luasnip, etc. Neovim now has *more* capabilities.
-- So, we create new capabilities with nvim cmp, and then broadcast that to the servers.
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities = vim.tbl_deep_extend('force', capabilities, require('cmp_nvim_lsp').default_capabilities())
-- Enable the following language servers
-- Feel free to add/remove any LSPs that you want here. They will automatically be installed.
--
-- Add any additional override configuration in the following tables. Available keys are:
-- - cmd (table): Override the default command used to start the server
-- - filetypes (table): Override the default list of associated filetypes for the server
-- - capabilities (table): Override fields in capabilities. Can be used to disable certain LSP features.
-- - settings (table): Override the default settings passed when initializing the server.
-- For example, to see the options for `lua_ls`, you could go to: https://luals.github.io/wiki/settings/
local servers = {
-- clangd = {},
-- gopls = {},
-- pyright = {},
-- rust_analyzer = {},
-- ... etc. See `:help lspconfig-all` for a list of all the pre-configured LSPs
--
-- Some languages (like typescript) have entire language plugins that can be useful:
-- https://github.com/pmizio/typescript-tools.nvim
--
-- But for many setups, the LSP (`ts_ls`) will work just fine
-- ts_ls = {},
--
lua_ls = {
-- cmd = {...},
-- filetypes = { ...},
-- capabilities = {},
settings = {
Lua = {
completion = {
callSnippet = 'Replace',
},
-- You can toggle below to ignore Lua_LS's noisy `missing-fields` warnings
-- diagnostics = { disable = { 'missing-fields' } },
},
},
},
}
-- Ensure the servers and tools above are installed
-- To check the current status of installed tools and/or manually install
-- other tools, you can run
-- :Mason
--
-- You can press `g?` for help in this menu.
require('mason').setup()
-- You can add other tools here that you want Mason to install
-- for you, so that they are available from within Neovim.
local ensure_installed = vim.tbl_keys(servers or {})
vim.list_extend(ensure_installed, {
'stylua', -- Used to format Lua code
})
require('mason-tool-installer').setup { ensure_installed = ensure_installed }
require('mason-lspconfig').setup {
handlers = {
function(server_name)
local server = servers[server_name] or {}
-- This handles overriding only values explicitly passed
-- by the server configuration above. Useful when disabling
-- certain features of an LSP (for example, turning off formatting for ts_ls)
server.capabilities = vim.tbl_deep_extend('force', {}, capabilities, server.capabilities or {})
require('lspconfig')[server_name].setup(server)
end,
},
}
end,
},
{ -- Autoformat
'stevearc/conform.nvim',
event = { 'BufWritePre' },
cmd = { 'ConformInfo' },
keys = {
{
'<leader>f',
function()
require('conform').format { async = true, lsp_format = 'fallback' }
end,
mode = '',
desc = '[F]ormat buffer',
},
},
opts = {
notify_on_error = false,
format_on_save = function(bufnr)
-- Disable "format_on_save lsp_fallback" for languages that don't
-- have a well standardized coding style. You can add additional
-- languages here or re-enable it for the disabled ones.
local disable_filetypes = { c = true, cpp = true }
local lsp_format_opt
if disable_filetypes[vim.bo[bufnr].filetype] then
lsp_format_opt = 'never'
else
lsp_format_opt = 'fallback'
end
return {
timeout_ms = 500,
lsp_format = lsp_format_opt,
}
end,
formatters_by_ft = {
lua = { 'stylua' },
-- Conform can also run multiple formatters sequentially
-- python = { "isort", "black" },
--
-- You can use 'stop_after_first' to run the first available formatter from the list
-- javascript = { "prettierd", "prettier", stop_after_first = true },
},
},
},
{ -- Autocompletion
'hrsh7th/nvim-cmp',
event = 'InsertEnter',
dependencies = {
-- Snippet Engine & its associated nvim-cmp source
{
'L3MON4D3/LuaSnip',
build = (function()
-- Build Step is needed for regex support in snippets.
-- This step is not supported in many windows environments.
-- Remove the below condition to re-enable on windows.
if vim.fn.has 'win32' == 1 or vim.fn.executable 'make' == 0 then
return
end
return 'make install_jsregexp'
end)(),
dependencies = {
-- `friendly-snippets` contains a variety of premade snippets.
-- See the README about individual language/framework/plugin snippets:
-- https://github.com/rafamadriz/friendly-snippets
-- {
-- 'rafamadriz/friendly-snippets',
-- config = function()
-- require('luasnip.loaders.from_vscode').lazy_load()
-- end,
-- },
},
},
'saadparwaiz1/cmp_luasnip',
-- Adds other completion capabilities.
-- nvim-cmp does not ship with all sources by default. They are split
-- into multiple repos for maintenance purposes.
'hrsh7th/cmp-nvim-lsp',
'hrsh7th/cmp-path',
},
config = function()
-- See `:help cmp`
local cmp = require 'cmp'
local luasnip = require 'luasnip'
luasnip.config.setup {}
cmp.setup {
snippet = {
expand = function(args)
luasnip.lsp_expand(args.body)
end,
},
completion = { completeopt = 'menu,menuone,noinsert' },
-- For an understanding of why these mappings were
-- chosen, you will need to read `:help ins-completion`
--
-- No, but seriously. Please read `:help ins-completion`, it is really good!
mapping = cmp.mapping.preset.insert {
-- Select the [n]ext item
['<C-n>'] = cmp.mapping.select_next_item(),
-- Select the [p]revious item
['<C-p>'] = cmp.mapping.select_prev_item(),
-- Scroll the documentation window [b]ack / [f]orward
['<C-b>'] = cmp.mapping.scroll_docs(-4),
['<C-f>'] = cmp.mapping.scroll_docs(4),
-- Accept ([y]es) the completion.
-- This will auto-import if your LSP supports it.
-- This will expand snippets if the LSP sent a snippet.
['<C-y>'] = cmp.mapping.confirm { select = true },
-- If you prefer more traditional completion keymaps,
-- you can uncomment the following lines
--['<CR>'] = cmp.mapping.confirm { select = true },
--['<Tab>'] = cmp.mapping.select_next_item(),
--['<S-Tab>'] = cmp.mapping.select_prev_item(),
-- Manually trigger a completion from nvim-cmp.
-- Generally you don't need this, because nvim-cmp will display
-- completions whenever it has completion options available.
['<C-Space>'] = cmp.mapping.complete {},
-- Think of <c-l> as moving to the right of your snippet expansion.
-- So if you have a snippet that's like:
-- function $name($args)
-- $body
-- end
--
-- <c-l> will move you to the right of each of the expansion locations.
-- <c-h> is similar, except moving you backwards.
['<C-l>'] = cmp.mapping(function()
if luasnip.expand_or_locally_jumpable() then
luasnip.expand_or_jump()
end
end, { 'i', 's' }),
['<C-h>'] = cmp.mapping(function()
if luasnip.locally_jumpable(-1) then
luasnip.jump(-1)
end
end, { 'i', 's' }),
-- For more advanced Luasnip keymaps (e.g. selecting choice nodes, expansion) see:
-- https://github.com/L3MON4D3/LuaSnip?tab=readme-ov-file#keymaps
},
sources = {
{
name = 'lazydev',
-- set group index to 0 to skip loading LuaLS completions as lazydev recommends it
group_index = 0,
},
{ name = 'nvim_lsp' },
{ name = 'luasnip' },
{ name = 'path' },
},
}
end,
},
{ -- You can easily change to a different colorscheme.
-- Change the name of the colorscheme plugin below, and then
-- change the command in the config to whatever the name of that colorscheme is.
--
-- If you want to see what colorschemes are already installed, you can use `:Telescope colorscheme`.
'folke/tokyonight.nvim',
priority = 1000, -- Make sure to load this before all the other start plugins.
init = function()
-- Load the colorscheme here.
-- Like many other themes, this one has different styles, and you could load
-- any other, such as 'tokyonight-storm', 'tokyonight-moon', or 'tokyonight-day'.
vim.cmd.colorscheme 'tokyonight-night'
-- You can configure highlights by doing something like:
vim.cmd.hi 'Comment gui=none'
end,
},
-- Highlight todo, notes, etc in comments
{ 'folke/todo-comments.nvim', event = 'VimEnter', dependencies = { 'nvim-lua/plenary.nvim' }, opts = { signs = false } },
{ -- Collection of various small independent plugins/modules
'echasnovski/mini.nvim',
config = function()
-- Better Around/Inside textobjects
--
-- Examples:
-- - va) - [V]isually select [A]round [)]paren
-- - yinq - [Y]ank [I]nside [N]ext [Q]uote
-- - ci' - [C]hange [I]nside [']quote
require('mini.ai').setup { n_lines = 500 }
-- Add/delete/replace surroundings (brackets, quotes, etc.)
--
-- - saiw) - [S]urround [A]dd [I]nner [W]ord [)]Paren
-- - sd' - [S]urround [D]elete [']quotes
-- - sr)' - [S]urround [R]eplace [)] [']
require('mini.surround').setup()
-- Simple and easy statusline.
-- You could remove this setup call if you don't like it,
-- and try some other statusline plugin
local statusline = require 'mini.statusline'
-- set use_icons to true if you have a Nerd Font
statusline.setup { use_icons = vim.g.have_nerd_font }
-- You can configure sections in the statusline by overriding their
-- default behavior. For example, here we set the section for
-- cursor location to LINE:COLUMN
---@diagnostic disable-next-line: duplicate-set-field
statusline.section_location = function()
return '%2l:%-2v'
end
-- ... and there is more!
-- Check out: https://github.com/echasnovski/mini.nvim
end,
},
{ -- Highlight, edit, and navigate code
'nvim-treesitter/nvim-treesitter',
build = ':TSUpdate',
main = 'nvim-treesitter.configs', -- Sets main module to use for opts
-- [[ Configure Treesitter ]] See `:help nvim-treesitter`
opts = {
ensure_installed = { 'bash', 'c', 'diff', 'html', 'lua', 'luadoc', 'markdown', 'markdown_inline', 'query', 'vim', 'vimdoc' },
-- Autoinstall languages that are not installed
auto_install = true,
highlight = {
enable = true,
-- Some languages depend on vim's regex highlighting system (such as Ruby) for indent rules.
-- If you are experiencing weird indenting issues, add the language to
-- the list of additional_vim_regex_highlighting and disabled languages for indent.
additional_vim_regex_highlighting = { 'ruby' },
},
indent = { enable = true, disable = { 'ruby' } },
},
-- There are additional nvim-treesitter modules that you can use to interact
-- with nvim-treesitter. You should go explore a few and see what interests you:
--
-- - Incremental selection: Included, see `:help nvim-treesitter-incremental-selection-mod`
-- - Show your current context: https://github.com/nvim-treesitter/nvim-treesitter-context
-- - Treesitter + textobjects: https://github.com/nvim-treesitter/nvim-treesitter-textobjects
},
-- The following comments only work if you have downloaded the kickstart repo, not just copy pasted the
-- init.lua. If you want these files, they are in the repository, so you can just download them and
-- place them in the correct locations.
-- NOTE: Next step on your Neovim journey: Add/Configure additional plugins for Kickstart
--
-- Here are some example plugins that I've included in the Kickstart repository.
-- Uncomment any of the lines below to enable them (you will need to restart nvim).
--
-- require 'kickstart.plugins.debug',
-- require 'kickstart.plugins.indent_line',
-- require 'kickstart.plugins.lint',
-- require 'kickstart.plugins.autopairs',
-- require 'kickstart.plugins.neo-tree',
-- require 'kickstart.plugins.gitsigns', -- adds gitsigns recommend keymaps
-- NOTE: The import below can automatically add your own plugins, configuration, etc from `lua/custom/plugins/*.lua`
-- This is the easiest way to modularize your config.
--
-- Uncomment the following line and add your plugins to `lua/custom/plugins/*.lua` to get going.
-- { import = 'custom.plugins' },
--
-- For additional information with loading, sourcing and examples see `:help lazy.nvim-🔌-plugin-spec`
-- Or use telescope!
-- In normal mode type `<space>sh` then write `lazy.nvim-plugin`
-- you can continue same window with `<space>sr` which resumes last telescope search
}, {
ui = {
-- If you are using a Nerd Font: set icons to an empty table which will use the
-- default lazy.nvim defined Nerd Font icons, otherwise define a unicode icons table
icons = vim.g.have_nerd_font and {} or {
cmd = '',
config = '🛠',
event = '📅',
ft = '📂',
init = '',
keys = '🗝',
plugin = '🔌',
runtime = '💻',
require = '🌙',
source = '📄',
start = '🚀',
task = '📌',
lazy = '💤 ',
},
},
})
-- The line beneath this is called `modeline`. See `:help modeline`
-- vim: ts=2 sts=2 sw=2 et

View File

@ -1,27 +0,0 @@
{
"LuaSnip": { "branch": "master", "commit": "33b06d72d220aa56a7ce80a0dd6f06c70cd82b9d" },
"cmp-nvim-lsp": { "branch": "main", "commit": "99290b3ec1322070bcfb9e846450a46f6efa50f0" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
"conform.nvim": { "branch": "master", "commit": "9180320205d250429f0f80e073326c674e2a7149" },
"fidget.nvim": { "branch": "main", "commit": "9238947645ce17d96f30842e61ba81147185b657" },
"gitsigns.nvim": { "branch": "main", "commit": "5f808b5e4fef30bd8aca1b803b4e555da07fc412" },
"lazy.nvim": { "branch": "main", "commit": "7e6c863bc7563efbdd757a310d17ebc95166cef3" },
"lazydev.nvim": { "branch": "main", "commit": "8620f82ee3f59ff2187647167b6b47387a13a018" },
"luvit-meta": { "branch": "main", "commit": "57d464c4acb5c2e66bd4145060f5dc9e96a7bbb7" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "c6c686781f9841d855bf1b926e10aa5e19430a38" },
"mason-tool-installer.nvim": { "branch": "main", "commit": "c5e07b8ff54187716334d585db34282e46fa2932" },
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
"mini.nvim": { "branch": "main", "commit": "733afb94ed88d32b839a644dc137604691e46032" },
"nvim-cmp": { "branch": "main", "commit": "b555203ce4bd7ff6192e759af3362f9d217e8c89" },
"nvim-lspconfig": { "branch": "master", "commit": "8b15a1a597a59f4f5306fad9adfe99454feab743" },
"nvim-treesitter": { "branch": "master", "commit": "a295ba13d27684e8904e8e51876b84ee85135cf1" },
"plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "dae2eac9d91464448b584c7949a31df8faefec56" },
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
"telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
"todo-comments.nvim": { "branch": "main", "commit": "ae0a2afb47cf7395dc400e5dc4e05274bf4fb9e0" },
"tokyonight.nvim": { "branch": "main", "commit": "45d22cf0e1b93476d3b6d362d720412b3d34465c" },
"vim-sleuth": { "branch": "master", "commit": "be69bff86754b1aa5adcbb527d7fcd1635a84080" },
"which-key.nvim": { "branch": "main", "commit": "8ab96b38a2530eacba5be717f52e04601eb59326" }
}

View File

@ -226,7 +226,6 @@ bar 1 {
} }
} }
# Va lancer notamment session.sh pour les variables XDG_SESSION et touti quanti
include /etc/sway/config.d/* include /etc/sway/config.d/*
# Ajout pour Olivier # Ajout pour Olivier

View File

@ -1,9 +1,6 @@
# Presse-papiers # Presse-papiers
## CLIPMAN # La base
exec wl-paste -t text --watch clipman store # Pour clipman exec wl-paste -t text --watch clipman store
## Presse-papier primaire : avec sauvegarde de l'historique dans un fichier JSON # Presse-papier primaire : avec sauvegarde de l'historique dans un fichier JSON
exec wl-paste -p -t text --watch clipman store -P --histpath="~/.local/share/clipman-primary.json" exec wl-paste -p -t text --watch clipman store -P --histpath="~/.local/share/clipman-primary.json"
# CLIPHIST (multimédia inclus)
#exec wl-paste --watch cliphist store

View File

@ -1,11 +0,0 @@
# Configuration du lanceur d'application
# Apparence d'une fenêtre nommée Launcher
for_window [app_id="^launcher$"] floating enable, sticky enable, resize set 30 ppt 60 ppt, border pixel 10
# Choix d'un lanceur
set $menu exec alacritty --class launcher -T 'Programmes' -e env TERMINAL_COMMAND='swaymsg exec' /usr/bin/sway-launcher-desktop
# On change le raccourci clavier en conséquence
unbindsym $mod+d
bindsym $mod+d exec $menu

View File

@ -1,3 +1,3 @@
# Change background # Change background
output * bg /home/od/.config/i3/abstract-blue-background-1920x1200.jpg fill output * bg /home/od/.config/sway/abstract-blue-background-1920x1200.jpg fill

View File

@ -14,8 +14,3 @@ titlebar_padding 0
# Enlever le titre aux fenêtres # Enlever le titre aux fenêtres
default_border none default_border none
default_floating_border none default_floating_border none
# Écran HiDPI
set $screen_output eDP-1
output $screen_output scale 1.6
output $screen_output color_profile icc icc/$screen_output.icm

View File

@ -10,12 +10,12 @@ assign [app_id="jetbrains-idea|Code"] workspace 1
# Bureau 2 (navigation web) # Bureau 2 (navigation web)
assign [class="Google-chrome|Vivaldi-stable|Opera|Firefox|Navigator|Nightly|Chromium"] workspace 2 assign [class="Google-chrome|Vivaldi-stable|Opera|Firefox|Navigator|Nightly|Chromium"] workspace 2
assign [app_id="Google-chrome|Vivaldi-stable|opera|firefox|navigator|nightly|chromium"] workspace 2 assign [app_id="Google-chrome|Vivaldi-stable|Opera|Firefox|Navigator|Nightly|Chromium"] workspace 2
# Bureau 3 (Courriel, PHPStorm) # Bureau 3 (Courriel, PHPStorm)
assign [class="Thunderbird|Mail|jetbrains-phpstorm"] workspace 3 assign [class="Thunderbird|Mail|jetbrains-phpstorm"] workspace 3
assign [app_id="Thunderbird|Mail|jetbrains-phpstorm"] workspace 3 assign [app_id="Thunderbird|Mail|jetbrains-phpstorm"] workspace 3
# Bureau 4 # Bureau 4
assign [class="Mattermost|mattermost-desktop|Rambox|Slack|Scudcloud|Gitter|Dino|Signal"] workspace 4 assign [class="Mattermost|mattermost-desktop|Rambox|Slack|Scudcloud|Gitter|Dino"] workspace 4
assign [app_id="Mattermost|mattermost-desktop|Rambox|Slack|Scudcloud|Gitter|dino|signal"] workspace 4 assign [app_id="Mattermost|mattermost-desktop|Rambox|Slack|Scudcloud|Gitter|Dino|dino"] workspace 4

View File

@ -8,6 +8,3 @@ bindsym XF86AudioStop exec playerctl stop # arrêt musique/film/fichier
# Bouton impression écran # Bouton impression écran
bindsym Print exec grim Images/$(date +'%Y-%m-%d-%s_screenshot.jpg') bindsym Print exec grim Images/$(date +'%Y-%m-%d-%s_screenshot.jpg')
# Arrête l'enregistrement d'une vidéo avec wf-recorder
bindsym Ctrl+Shift+BackSpace exec killall -s SIGINT wf-recorder

View File

@ -1,9 +1,3 @@
# Presse-papier # Presse-papier
unbindsym $mod+h unbindsym $mod+h
## CLIPMAN
bindsym $mod+h exec clipman pick -t wofi bindsym $mod+h exec clipman pick -t wofi
# CLIPHIST
#bindsym $mod+h exec cliphist list | fzf --no-sort | cliphist decode | wl-copy
#bindsym $mod+h exec cliphist list | wofi -S dmenu | cliphist decode | wl-copy

View File

@ -1,5 +1,5 @@
# Économie des yeux (48.5680685:7.7709942 = Neudorf, rue de Fegersheim) # Économie des yeux (48.5680685:7.7709942 = Neudorf, rue de Fegersheim)
exec_always "killall wlsunset ; wlsunset -t 3500 -T 5700 -l 48.5 -L 7.7 &" exec gammastep-indicator
# Notifications de bureau # Notifications de bureau
exec dunst exec dunst

View File

@ -1 +0,0 @@
/home/od/.color/icc/BOE_CQ_______NE135FBM_N41_03.icc

View File

@ -23,7 +23,7 @@
"format": "<span style=\"italic\">{}</span>" "format": "<span style=\"italic\">{}</span>"
}, },
"tray": { "tray": {
"icon-size": 21, // "icon-size": 21,
"spacing": 10 "spacing": 10
}, },
"clock": { "clock": {

View File

@ -1,4 +0,0 @@
[preferred]
default=wlr;gtk
#org.freedesktop.impl.portal.Screenshot=wlr
#org.freedesktop.impl.portal.Screencast=wlr

View File

@ -1,26 +0,0 @@
#!/usr/bin/env zsh
# Automatic connection
mkdir -p "${HOME}/etc/ssh";
function ssh-procure-launch-agent {
eval `ssh-agent -s -a ~/etc/ssh/ssh-agent-socket`;
ssh-add;
}
if [ ! $SSH_AGENT_PID ]; then
if [ -e ~/etc/ssh/ssh-agent-socket ] ; then
SSH_AGENT_PID=`ps -fC ssh-agent |grep 'etc/ssh/ssh-agent-socket' |sed -r 's/^\S+\s+(\S+).*$/\1/'`;
if [[ $SSH_AGENT_PID =~ [0-9]+ ]]; then
# in this case the agent has already been launched and we are just attaching to it.
##++ It should check that this pid is actually active & belongs to an ssh instance
export SSH_AGENT_PID;
SSH_AUTH_SOCK=~/etc/ssh/ssh-agent-socket; export SSH_AUTH_SOCK;
else
# in this case there is no agent running, so the socket file is left over from a graceless agent termination.
rm ~/etc/ssh/ssh-agent-socket;
ssh-procure-launch-agent;
fi;
else
ssh-procure-launch-agent;
fi;
fi;

View File

@ -1,28 +0,0 @@
# .profile permet d'avoir
# 1. TERMINAL (choix d'un terminal par défaut)
# 2. BATPATH (pour la batterie)
# 3. PATH initial # TODO: vraiment nécessaire ?
emulate sh -c '. ~/.profile'
# TODO: vérifier si ce code commenté fonctionne
#export PYENV_ROOT="$HOME/.pyenv"
#export PATH="$PYENV_ROOT/bin:$PATH"
#eval "$(pyenv init --path)"
# Start X automatically
if systemctl -q is-active graphical.target && [[ ! $DISPLAY && $XDG_VTNR -eq 1 ]]; then
case $HOST in
roc | zou)
: # Exceptions : On ne fait rien pour ces machines qui sont sous Xorg.
;;
*)
# Pour toutes les autres on charge le contenu de .config/environment.d
# Cf. https://wiki.archlinux.org/title/Environment_variables#Per_Wayland_session
# use systemd-environment-d-generator(8) to generate environment, and export those variables
set -o allexport
source <(/usr/lib/systemd/user-environment-generators/30-systemd-environment-d-generator)
set +o allexport
;;
esac
exec sway
fi

View File

@ -1,38 +0,0 @@
#!/bin/zsh
#
# .zsh_plugins.txt - antidote plugins file
#
# Completions
mattmc3/ez-compinit
zsh-users/zsh-completions kind:fpath path:src
aloxaf/fzf-tab # Remove if you don't use fzf
# Completion styles
belak/zsh-utils path:completion/functions kind:autoload post:compstyle_zshzoo_setup
# Keybindings
belak/zsh-utils path:editor
# History
belak/zsh-utils path:history
# Prompt
romkatv/powerlevel10k
# Utilities
belak/zsh-utils path:utility
romkatv/zsh-bench kind:path
ohmyzsh/ohmyzsh path:plugins/extract
# a kind of "cd" with shortcuts
mfaerevaag/wd
# Aliases
#ohmyzsh/ohmyzsh path:plugins/helm # semble ne pas fonctionner
ohmyzsh/ohmyzsh path:plugins/kubectl
ohmyzsh/ohmyzsh path:plugins/terraform
# Other Fish-like features
zdharma-continuum/fast-syntax-highlighting # Syntax highlighting
zsh-users/zsh-autosuggestions # Auto-suggestions
zsh-users/zsh-history-substring-search # Up/Down to search history

View File

@ -1,40 +0,0 @@
#!/usr/bin/env zsh
# Scripts that should be loaded before instant prompt
# because they ask something in prompt
source ${ZDOTDIR:-$HOME}/.before.zshrc.zsh
# Enable Powerlevel10k instant prompt. Should stay close to the top of .zshrc.
# Initialization code that may require console input (password prompts, [y/n]
# confirmations, etc.) must go above this block; everything else may go below.
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi
# Load fzf
source /usr/share/fzf/completion.zsh
source /usr/share/fzf/key-bindings.zsh
# Clone antidote if necessary.
if [[ ! -d ${ZDOTDIR:-$HOME}/.antidote ]]; then
git clone https://github.com/mattmc3/antidote ${ZDOTDIR:-$HOME}/.antidote
fi
# Create an amazing Zsh config using antidote plugins.
source ${ZDOTDIR:-$HOME}/.antidote/antidote.zsh
antidote load
# Enlève le prompt de droite après avoir appuyé sur Entrée
setopt transient_rprompt
# Source anything in .zshrc.d.
for _rc in ${ZDOTDIR:-$HOME}/.zshrc.d/*.zsh; do
# Ignore tilde files.
if [[ $_rc:t != '~'* ]]; then
source "$_rc"
fi
done
unset _rc
# To customize prompt, run `p10k configure` or edit .p10k.zsh.
[[ ! -f ${ZDOTDIR:-$HOME}/.p10k.zsh ]] || source ${ZDOTDIR:-$HOME}/.p10k.zsh

View File

@ -1,241 +0,0 @@
#!/usr/bin/env zsh
# editor
alias e="${EDITOR}"
alias r="${EDITOR} -R"
alias sm="sublime_merge"
alias vi="${EDITOR}"
# pagination
alias cat='bat'
# system
alias mem='free -mt'
alias df='df -hT'
# navigation
alias ls='eza'
alias ll='eza -lah --group --smart-group --icons'
alias l='eza -F'
# web
alias https='http --verify=no --default-scheme=https'
# search
alias rgrep='rg --no-ignore'
# add colors to some commands
alias diff='colordiff'
export GREP_COLORS='ms=01;33:mc=01;33:s1=:cx=:fn=37;ln=32:bn=32:se=36'
alias grep='grep --color'
alias ip='ip -c'
# dotfiles
alias dotfiles='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'
# be careful!
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# pytest
alias pyt='poetry run pytest -vvs --no-cov --disable-warnings'
alias pytc='poetry run pytest -vvs --disable-warnings --cov-report=xml:cov.xml'
# k8s
alias k='kubectl'
# miscellaneous
alias devu="${HOME}/devu/devu/devu"
# git
alias g='git'
alias ga='git add'
alias gaa='git add --all'
alias gam='git am'
alias gama='git am --abort'
alias gamc='git am --continue'
alias gams='git am --skip'
alias gamscp='git am --show-current-patch'
alias gap='git apply'
alias gapa='git add --patch'
alias gapt='git apply --3way'
alias gau='git add --update'
alias gav='git add --verbose'
alias gb='git branch'
alias gbD='git branch --delete --force'
alias gba='git branch --all'
alias gbd='git branch --delete'
alias gbl='git blame -w'
alias gbm='git branch --move'
alias gbnm='git branch --no-merged'
alias gbr='git branch --remote'
alias gbs='git bisect'
alias gbsb='git bisect bad'
alias gbsg='git bisect good'
alias gbsn='git bisect new'
alias gbso='git bisect old'
alias gbsr='git bisect reset'
alias gbss='git bisect start'
alias gc='git commit --verbose'
alias 'gc!'='git commit --verbose --amend'
alias gcB='git checkout -B'
alias gca='git commit --verbose --all'
alias 'gca!'='git commit --verbose --all --amend'
alias gcam='git commit --all --message'
alias 'gcan!'='git commit --verbose --all --no-edit --amend'
alias 'gcann!'='git commit --verbose --all --date=now --no-edit --amend'
alias 'gcans!'='git commit --verbose --all --signoff --no-edit --amend'
alias gcas='git commit --all --signoff'
alias gcasm='git commit --all --signoff --message'
alias gcb='git checkout -b'
alias gcd='git checkout $(git_develop_branch)'
alias gcf='git config --list'
alias gcl='git clone --recurse-submodules'
alias gclean='git clean --interactive -d'
alias gclf='git clone --recursive --shallow-submodules --filter=blob:none --also-filter-submodules'
alias gcm='git checkout $(git_main_branch)'
alias gcmsg='git commit --message'
alias gcn='git commit --verbose --no-edit'
alias 'gcn!'='git commit --verbose --no-edit --amend'
alias gco='git checkout'
alias gcor='git checkout --recurse-submodules'
alias gcount='git shortlog --summary --numbered'
alias gcp='git cherry-pick'
alias gcpa='git cherry-pick --abort'
alias gcpc='git cherry-pick --continue'
alias gcs='git commit --gpg-sign'
alias gcsm='git commit --signoff --message'
alias gcss='git commit --gpg-sign --signoff'
alias gcssm='git commit --gpg-sign --signoff --message'
alias gd='git diff'
alias gdca='git diff --cached'
alias gdct='git describe --tags $(git rev-list --tags --max-count=1)'
alias gdcw='git diff --cached --word-diff'
alias gds='git diff --staged'
alias gdt='git diff-tree --no-commit-id --name-only -r'
alias gdup='git diff @{upstream}'
alias gdw='git diff --word-diff'
alias gf='git fetch'
alias gfa='git fetch --all --tags --prune --jobs=10'
alias gfg='git ls-files | grep'
alias gfo='git fetch origin'
alias gg='git gui citool'
alias gga='git gui citool --amend'
alias ggpull='git pull origin "$(git_current_branch)"'
alias ggpush='git push origin "$(git_current_branch)"'
alias ggsup='git branch --set-upstream-to=origin/$(git_current_branch)'
alias ghh='git help'
alias gignore='git update-index --assume-unchanged'
alias gignored='git ls-files -v | grep "^[[:lower:]]"'
alias git-svn-dcommit-push='git svn dcommit && git push github $(git_main_branch):svntrunk'
alias gl='git pull'
alias glg='git log --stat'
alias glgg='git log --graph'
alias glgga='git log --graph --decorate --all'
alias glgm='git log --graph --max-count=10'
alias glgp='git log --stat --patch'
alias glo='git log --oneline --decorate'
alias glod='git log --graph --pretty="%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ad) %C(bold blue)<%an>%Creset"'
alias glods='git log --graph --pretty="%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ad) %C(bold blue)<%an>%Creset" --date=short'
alias glog='git log --oneline --decorate --graph'
alias gloga='git log --oneline --decorate --graph --all'
alias glol='git log --graph --pretty="%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ar) %C(bold blue)<%an>%Creset"'
alias glola='git log --graph --pretty="%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ar) %C(bold blue)<%an>%Creset" --all'
alias glols='git log --graph --pretty="%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ar) %C(bold blue)<%an>%Creset" --stat'
alias gluc='git pull upstream $(git_current_branch)'
alias glum='git pull upstream $(git_main_branch)'
alias gm='git merge'
alias gma='git merge --abort'
alias gmc='git merge --continue'
alias gmff='git merge --ff-only'
alias gmom='git merge origin/$(git_main_branch)'
alias gms='git merge --squash'
alias gmtl='git mergetool --no-prompt'
alias gmtlvim='git mergetool --no-prompt --tool=vimdiff'
alias gmum='git merge upstream/$(git_main_branch)'
alias gp='git push'
alias gpd='git push --dry-run'
alias gpf='git push --force-with-lease --force-if-includes'
alias 'gpf!'='git push --force'
alias gpoat='git push origin --all && git push origin --tags'
alias gpod='git push origin --delete'
alias gpr='git pull --rebase'
alias gpra='git pull --rebase --autostash'
alias gprav='git pull --rebase --autostash -v'
alias gpristine='git reset --hard && git clean --force -dfx'
alias gprom='git pull --rebase origin $(git_main_branch)'
alias gpromi='git pull --rebase=interactive origin $(git_main_branch)'
alias gprum='git pull --rebase upstream $(git_main_branch)'
alias gprumi='git pull --rebase=interactive upstream $(git_main_branch)'
alias gprv='git pull --rebase -v'
alias gpsup='git push --set-upstream origin $(git_current_branch)'
alias gpsupf='git push --set-upstream origin $(git_current_branch) --force-with-lease --force-if-includes'
alias gpu='git push upstream'
alias gpv='git push --verbose'
alias gr='git remote'
alias gra='git remote add'
alias grb='git rebase'
alias grba='git rebase --abort'
alias grbc='git rebase --continue'
alias grbd='git rebase $(git_develop_branch)'
alias grbi='git rebase --interactive'
alias grbm='git rebase $(git_main_branch)'
alias grbo='git rebase --onto'
alias grbom='git rebase origin/$(git_main_branch)'
alias grbs='git rebase --skip'
alias grbum='git rebase upstream/$(git_main_branch)'
alias grev='git revert'
alias greva='git revert --abort'
alias grevc='git revert --continue'
alias grf='git reflog'
alias grh='git reset'
alias grhh='git reset --hard'
alias grhk='git reset --keep'
alias grhs='git reset --soft'
alias grm='git rm'
alias grmc='git rm --cached'
alias grmv='git remote rename'
alias groh='git reset origin/$(git_current_branch) --hard'
alias grrm='git remote remove'
alias grs='git restore'
alias grset='git remote set-url'
alias grss='git restore --source'
alias grst='git restore --staged'
alias gru='git reset --'
alias grup='git remote update'
alias grv='git remote --verbose'
alias gsb='git status --short --branch'
alias gsd='git svn dcommit'
alias gsh='git show'
alias gsi='git submodule init'
alias gsps='git show --pretty=short --show-signature'
alias gsr='git svn rebase'
alias gss='git status --short'
alias gst='git status'
alias gsta='git stash push'
alias gstaa='git stash apply'
alias gstall='git stash --all'
alias gstc='git stash clear'
alias gstd='git stash drop'
alias gstl='git stash list'
alias gstp='git stash pop'
alias gsts='git stash show --patch'
alias gsu='git submodule update'
alias gsw='git switch'
alias gswc='git switch --create'
alias gswd='git switch $(git_develop_branch)'
alias gswm='git switch $(git_main_branch)'
alias gta='git tag --annotate'
alias gts='git tag --sign'
alias gtv='git tag | sort -V'
alias gunignore='git update-index --no-assume-unchanged'
alias gunwip='git rev-list --max-count=1 --format="%s" HEAD | grep -q "\--wip--" && git reset HEAD~1'
alias gwch='git whatchanged -p --abbrev-commit --pretty=medium'
alias gwip='git add -A; git rm $(git ls-files --deleted) 2> /dev/null; git commit --no-verify --no-gpg-sign --message "--wip-- [skip ci]"'
alias gwipe='git reset --hard && git clean --force -df'
alias gwt='git worktree'
alias gwta='git worktree add'
alias gwtls='git worktree list'
alias gwtmv='git worktree move'
alias gwtrm='git worktree remove'

View File

@ -1,10 +0,0 @@
[Desktop Entry]
Version=1.0
Type=Application
Name=QtPass - Wayland
Comment=Un gestionnaire de mots de passe utilisant 'pass'
Exec=env QT_QPA_PLATFORM=xcb /usr/bin/qtpass
Icon=qtpass
Path=
Terminal=false
StartupNotify=true

View File

@ -1,12 +0,0 @@
[Desktop Entry]
Name=Slack Wayland
StartupWMClass=Slack
Comment=Slack Desktop
GenericName=Slack Client for Linux
#Exec=/usr/bin/slack --disable-gpu-compositing --enable-features=UseOzonePlatform --ozone-platform=wayland --enable-features=WebRTCPipeWireCapturer --enable-features=WaylandWindowDecorations --disable-features=WaylandFractionalScaleV1 -s %U
Exec=/usr/bin/slack --disable-gpu-compositing --enable-features=WebRTCPipeWireCapturer --enable-features=WaylandWindowDecorations --disable-features=WaylandFractionalScaleV1 -s %U
Icon=slack
Type=Application
StartupNotify=true
Categories=GNOME;GTK;Network;InstantMessaging;
MimeType=x-scheme-handler/slack;

View File

@ -15,42 +15,21 @@ for term in kitty termite qterminal urxvt rxvt-unicode sakura gnome-terminal; do
done done
# Pour la batterie des ordinateurs portables (~/bin/battery) # Pour la batterie des ordinateurs portables (~/bin/battery)
export BATPATH="/sys/class/power_supply/BAT1" #export BATPATH="/sys/class/power_supply/BAT0"
# Permit DBUS to be launched on i3 # Permit DBUS to be launched
if [ "$0" = "/usr/sbin/lightdm-session" -a "$DESKTOP_SESSION" = "i3" ]; then if [ "$0" = "/usr/sbin/lightdm-session" -a "$DESKTOP_SESSION" = "i3" ]; then
export $(gnome-keyring-daemon -s) export $(gnome-keyring-daemon -s)
fi fi
# Environnement Pyenv # Démarrage de l'environnement préféré
export PYENV_ROOT="$HOME/.pyenv" if [ -z $DISPLAY ] && [ "$(tty)" = "/dev/tty1" ]; then
export PATH="$PYENV_ROOT/bin:$PATH" case $HOST in
eval "$(pyenv init --path)" fuz | fuztest)
exec sway
;;
## ATTENTION : ce code n'est plus nécessaire pour le moment. *)
## 1. C'est ZSH (.zprofile) qui va charger SWAY sur les machines Wayland : # on ne fait rien, car c'est .xinitrc qui lance i3
## 2. C'est le .zprofile qui charge aussi .config/environment.d/envvars.conf ;;
## 3. Dans le cas de Xorg : on a pas besoin de .config/environment.d/envvars.conf esac
## 4. Dans le cas de Xorg : xinitrc lance i3 # TODO: comment xinitrc se lance ? Par qui ? fi
## Démarrage de l'environnement préféré
#if [ -z $DISPLAY ] && [ "$(tty)" = "/dev/tty1" ]; then
# case $HOST in
# fuz | fuztest)
# # Cf. https://wiki.archlinux.org/title/Environment_variables#Per_Wayland_session
# variables_file="${HOME}/.config/environment.d/envvars.conf"
# if [[ -f "${variables_file}" ]]; then
# # charge seulement les lignes sans "#" (non commentées)
# for line in `cat "${variables_file}"|grep -Ev '^#'`; do
# export "$line"
# done
# fi
# exec sway
# ;;
# *)
# : # on ne fait rien, car c'est .xinitrc qui lance i3
# ;;
# esac
#fi
# vim: ts=2 sw=2 et nu

View File

@ -26,7 +26,7 @@ Port 22
Host ovh Host ovh
Hostname 37.187.17.29 Hostname 37.187.17.29
User od User od
Port 4555 Port 22
# ?? # ??
Host pi Host pi
@ -60,8 +60,8 @@ Port 22
# Perso # Perso
Host zou Host zou
Hostname 192.168.1.142 Hostname 192.168.1.68
User od User root
Port 22 Port 22
# Groupe Open (entreprise) # Groupe Open (entreprise)
@ -117,48 +117,3 @@ Host backup
Hostname 37.187.17.29 Hostname 37.187.17.29
User root User root
Port 22 Port 22
## Serveur salon (Beelink)
Host suc
Hostname 192.168.1.42
User od
Port 22
## Labo K8s
Host deux
Hostname 192.168.1.102
User od
Port 22
Host trois
Hostname 192.168.1.103
User od
Port 22
Host quatre
Hostname 192.168.1.104
User od
Port 22
## Labo K8S AMD64
Host douze
Hostname 192.168.1.112
User nous
Port 22
Host treize
Hostname 192.168.1.113
User maison
Port 22
Host quatorze
Hostname 192.168.1.202
User od
Port 22
## Formation DevOps - Datascientest
Host devu
Hostname 54.229.27.155
User ubuntu
Port 22
IdentityFile ~/.ssh/data_enginering_machine.pem

View File

@ -84,7 +84,7 @@ set -g status-left "#{pane_current_path}"
set -g status-left-length 30 set -g status-left-length 30
# Activer mon layout par defaut # Activer mon layout par defaut
#new -s projets -n dev new -s projets -n dev
#splitw -v -p '50' -t dev splitw -v -p 50 -t dev
#neww -n autre neww -n autre
#selectw -t dev selectw -t dev

18
.warprc
View File

@ -1,9 +1,9 @@
blog:~/projets/blog ans:/home/od/projets/buffet
cal:~/projets/effeuillage buf:/home/od/projets/buffet
fastapi:~/devu/exam_DOSSMANN/fastapi_exam_DOSSMANN cloud:~/freshmile/cloud
graille:~/projets/graille patchwork:/home/od/projets/patchwork
ops:~/projets/ops p:~/freshmile/pulp
patchwork:~/projet/patchwork ps:~/freshmile/pulp/Seed
presentation:~/projet/odtre/diapos s:~/freshmile/seed
soutenance:~/projet/soutenance z:~/freshmile/zest
wiki:~/projet/recueil zs:~/freshmile/zest/Seed

6
.zprofile Normal file
View File

@ -0,0 +1,6 @@
emulate sh -c '. ~/.profile'
# Start X automatically
if systemctl -q is-active graphical.target && [[ ! $DISPLAY && $XDG_VTNR -eq 1 ]]; then
exec startx
fi

42
.zshenv
View File

@ -1,40 +1,8 @@
#!/usr/bin/env zsh
#
# ENVIRONMENT VARIABLES ONLY
# Cf. https://wiki.archlinux.org/title/XDG_Base_Directory
export XDG_CONFIG_HOME=$HOME/.config
# Default editor
export EDITOR='nvim'
# ZSH
export ZDOTDIR="$XDG_CONFIG_HOME/zsh"
export HISTFILE="$ZDOTDIR/.zhistory" # History filepath
export HISTSIZE=10000 # Maximum events for internal history
export SAVEHIST=10000 # Maximum events in history file
# PATH
typeset -U PATH path typeset -U PATH path
path=("$HOME/.local/bin" "$HOME/bin" "/opt/sublime_merge" "$path[@]", "$(go env GOPATH)/bin") path=("$HOME/.local/bin" "$HOME/bin" "/opt/sublime_merge" "$path[@]")
export PATH export PATH
# Language environment # Autocomplètement supplémentaire (Docker)
export LANG=fr_FR.UTF-8 if [ -d "$HOME/.zsh/completion" ] ; then
fpath=(~/.zsh/completion $fpath)
# Reading / Browse (manpages, websites, etc.) fi
export PAGER="bat"
export MANPAGER="nvim +Man!"
export BROWSER=elinks
# SSH
export SSH_ASKPASS=qt4-ssh-askpass
# Python
export PYTHONWARNINGS="ignore::DeprecationWarning"
#export FLASK_SKIP_DOTENV=1 ## make problems with poetry and flask applications
export PIPENV_QUIET=1 # enlève les courtesy notice
# k8s
export KUBECONFIG=$HOME/kubeconfig

View File

@ -68,7 +68,7 @@ ZSH_THEME="powerlevel10k/powerlevel10k"
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/ # Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse) # Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup. # Add wisely, as too many plugins slow down shell startup.
plugins=(git httpie ng npm nvm pass pip sudo wd pyenv kubectl helm terraform) plugins=(git httpie ng npm nvm pass pip sudo wd)
source $ZSH/oh-my-zsh.sh source $ZSH/oh-my-zsh.sh
@ -77,6 +77,30 @@ POWERLEVEL9K_SHORTEN_DIR_LENGTH=1
POWERLEVEL9K_SHORTEN_DELIMITER="" POWERLEVEL9K_SHORTEN_DELIMITER=""
POWERLEVEL9K_SHORTEN_STRATEGY="truncate_from_right" POWERLEVEL9K_SHORTEN_STRATEGY="truncate_from_right"
# User configuration
export PAGER=most
export BROWSER=elinks
export SSH_ASKPASS=qt4-ssh-askpass
export AUTEUR="Olivier DOSSMANN"
export DEFAULT_USER="od"
export PYTHONWARNINGS="ignore::DeprecationWarning"
#export FLASK_SKIP_DOTENV=1 ## make problems with poetry and flask applications
export PIPENV_QUIET=1 # enlève les courtesy notice
export ENABLE_WARNINGS=false # enlève les warnings dans le setup RERO-ils
# You may need to manually set your language environment
export LANG=fr_FR.UTF-8
# Preferred editor for local and remote sessions
if [[ -n $SSH_CONNECTION ]]; then
export EDITOR='vim'
else
export EDITOR='nvim'
fi
# Enlève le prompt de droite après avoir appuyé sur Entrée
setopt transient_rprompt
# Compilation flags # Compilation flags
# export ARCHFLAGS="-arch x86_64" # export ARCHFLAGS="-arch x86_64"
@ -88,10 +112,59 @@ POWERLEVEL9K_SHORTEN_STRATEGY="truncate_from_right"
# Example aliases # Example aliases
# alias zshconfig="mate ~/.zshrc" # alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh" # alias ohmyzsh="mate ~/.oh-my-zsh"
alias e="${EDITOR}"
alias r="${EDITOR} -R"
alias sm="sublime_merge"
alias vi="${EDITOR}"
alias mem='free -mt'
alias df='df -hT'
alias ls='exa'
alias ll='exa -l'
alias l='exa -F'
alias rgrep='rg --no-ignore'
export GREP_COLORS='ms=01;33:mc=01;33:s1=:cx=:fn=37;ln=32:bn=32:se=36'
alias diff='colordiff'
alias dotfiles='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'
# évite de faire des erreurs
alias rm='rm -i'
alias cp='cp -i'
alias grep='grep --color'
# requêtes
alias https='http --verify=no --default-scheme=https'
# pytest
alias pyt='poetry run pytest -vvs --no-cov --disable-warnings'
alias pytc='poetry run pytest -vvs --disable-warnings --cov-report=xml:cov.xml'
# projet rero
alias rero="ALIAS=rero /home/od/projets/rerologik/agnes"
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh. # To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ -f ~/.p10k.zsh ]] && source ~/.p10k.zsh [[ -f ~/.p10k.zsh ]] && source ~/.p10k.zsh
# Connexion automatique
mkdir -p "${HOME}/etc/ssh";
function ssh-procure-launch-agent {
eval `ssh-agent -s -a ~/etc/ssh/ssh-agent-socket`;
ssh-add;
}
if [ ! $SSH_AGENT_PID ]; then
if [ -e ~/etc/ssh/ssh-agent-socket ] ; then
SSH_AGENT_PID=`ps -fC ssh-agent |grep 'etc/ssh/ssh-agent-socket' |sed -r 's/^\S+\s+(\S+).*$/\1/'`;
if [[ $SSH_AGENT_PID =~ [0-9]+ ]]; then
# in this case the agent has already been launched and we are just attaching to it.
##++ It should check that this pid is actually active & belongs to an ssh instance
export SSH_AGENT_PID;
SSH_AUTH_SOCK=~/etc/ssh/ssh-agent-socket; export SSH_AUTH_SOCK;
else
# in this case there is no agent running, so the socket file is left over from a graceless agent termination.
rm ~/etc/ssh/ssh-agent-socket;
ssh-procure-launch-agent;
fi;
else
ssh-procure-launch-agent;
fi;
fi;
# Desktop specificities for development # Desktop specificities for development
case $HOST in case $HOST in
lueur | baloo | sam) lueur | baloo | sam)
@ -102,6 +175,6 @@ case $HOST in
source /usr/share/nvm/init-nvm.sh source /usr/share/nvm/init-nvm.sh
# Virtualenv (for Python development) # Virtualenv (for Python development)
export WORKON_HOME=~/.virtualenvs export WORKON_HOME=~/.virtualenvs
#source /usr/bin/virtualenvwrapper.sh source /usr/bin/virtualenvwrapper.sh
;; ;;
esac esac

View File

@ -1,8 +1,4 @@
#!/bin/sh #!/bin/sh
#
# battery
#
# Penser à modifier la variable dans ~/.profile
HEART_FULL=♥ HEART_FULL=♥
HEART_EMPTY=♡ HEART_EMPTY=♡

View File

@ -1,23 +0,0 @@
#!/usr/bin/env bash
#
# ecran_framework
#
# Désactive les écrans. N'active que celui du PC portable Framework
#
# Écran principal : Iiyama North America PL2474H 11669V9B05959
# Écran secondaire : Iiyama North America PLX2283H 1159495081860
# Écran PC portable : BOE 0x0BCA Unknown
# PC portable
laptopscreen="'BOE 0x0BCA Unknown'"
# Écran principal
mainscreen="'Iiyama North America PL2474H 11669V9B05959'"
# Écran secondaire
otherscreen="'Iiyama North America PLX2283H 1159495081860'"
# Éteint l'écran principal et secondaire
swaymsg output "${mainscreen}" disable
swaymsg output "${otherscreen}" disable
# Allume l'écran du PC portable
swaymsg output "${laptopscreen}" enable

View File

@ -1,31 +0,0 @@
#!/usr/bin/env bash
#
# ecran_maison
#
# Active les 2 écrans de la maison sur le Dock Station branché.
#
# Écran principal : Iiyama North America PL2474H 11669V9B05959
# Écran secondaire : Iiyama North America PLX2283H 1159495081860
# Écran PC portable : BOE 0x0BCA Unknown
# PC portable
laptopscreen="'BOE 0x0BCA Unknown'"
# Écran principal
mainscreen="'Iiyama North America PL2474H 11669V9B05959'"
# Écran secondaire
otherscreen="'Iiyama North America PLX2283H 1159495081860'"
# Active l'écran secondaire
swaymsg output "${otherscreen}" enable
# Tourne l'écran de droite de 90°
swaymsg output "${otherscreen}" transform 90 anticlockwise
# Déplace l'écran de droite à 1920px (pour rester à droite)
swaymsg output "${otherscreen}" pos 1920 0
# Active l'écran principal
swaymsg output "${mainscreen}" enable
# Descend l'écran principal vers le bas de 840px
swaymsg output "${mainscreen}" pos 0 840
# Éteint l'écran du PC portable
swaymsg output "${laptopscreen}" disable

View File

@ -1,15 +0,0 @@
#!/usr/bin/env bash
#
# launcher
#
# TODO: toujours mettre des \n entre les résultats !
res=()
# Find all programs in $PATH.
res+=$(echo -n "$PATH" | xargs -d: -I{} -r -- find -L {} -maxdepth 1 -mindepth 1 -type f -executable -printf '%P\n' 2>/dev/null)
res+=$(echo -e "\ncoucou")
for resultat in "${res[@]}"; do
echo "$resultat"
done | fzf|sh

View File

@ -1,3 +0,0 @@
#!/usr/bin/env bash
firefox --kiosk "https://netflix.com/"

View File

@ -2,22 +2,20 @@
# random_wallpaper # random_wallpaper
# #
# Requirement: feh (apt install feh) - for Xorg # Requirement: feh (apt install feh)
# Requirement: swaybg - for Wayland
directory="$HOME/wallpapers" directory="$HOME/wallpapers"
minutes=15 minutes=15
PROGRAM=`which feh` PROGRAM=`which feh`
is_wayland=false
# Some tests # Some tests
if [[ "${XDG_SESSION_TYPE}" == "wayland" ]]; then if [[ "$XDG_SESSION_TYPE" -eq "wayland" ]]; then
PROGRAM=`which swaymsg` PROGRAM=`which swaymsg`
if [ -z "${PROGRAM}" ]; then if [ -z "${PROGRAM}" ]; then
echo "This script needs the swaymsg program." echo "This script needs the swaymsg program."
exit 1 exit 1
fi fi
is_wayland=true wayland=1
elif [ -z "${PROGRAM}" ]; then elif [ -z "${PROGRAM}" ]; then
echo "This script needs the feh program. Install it." echo "This script needs the feh program. Install it."
exit 1 exit 1
@ -50,8 +48,7 @@ while true; do
# Change background # Change background
file="${array_files["$NUMBER"]}" file="${array_files["$NUMBER"]}"
if "${is_wayland}"; then if [[ -n wayland ]]; then
# Use of swaybg program (used with swaymsg)
$PROGRAM output "*" bg "$directory/$file" fill $PROGRAM output "*" bg "$directory/$file" fill
else else
feh --bg-fill "$directory/$file" feh --bg-fill "$directory/$file"

View File

@ -1,6 +0,0 @@
#!/usr/bin/env bash
# change number by 2 for screen 2
number=1
wf-recorder -o $(swaymsg -t get_outputs |grep "DP"|head -n ${number}|cut -d '"' -f 4) -f ~/screens/$(date +'%Y-%m-%d-%s')_screencast.mkv

View File

@ -1,3 +0,0 @@
#!/usr/bin/env bash
python3 -m http.server "$@"