Initial commit

This commit is contained in:
linarphy 2023-07-27 22:39:59 +02:00
commit 15d22d2b68
No known key found for this signature in database
GPG key ID: B914FF3FE69AA363
59 changed files with 957 additions and 0 deletions

View file

@ -0,0 +1,4 @@
[font]
size = 10.0
[font.normal]
family = "Mononoki NerdFont"

View file

@ -0,0 +1,66 @@
--[[
Initialization file
This file only loads others to improve readability of settings
File organization:
legend:
>name : folder
>name : sub-folder
name : file
(name) : comment
>lua
(contains all configuration files)
>display
(ui and graphical settings)
cmd.lua
(ui settings for the cmd)
editor.lua
(ui settings for the editor)
graphic.lua
(general graphic settings)
init.lua
(load other files)
>general
(settings not in other category)
cmd.lua
(cmd settings)
editor.lua
(editor settings)
indent.lua
(tab and indent settings)
init.lua
(load other files)
lang.lua
(lang settings)
>mapping
(key mapping settings)
init.lua
(load other files)
mapleader.lua
(define mapleader key)
movement.lua
(movement linked mapping)
maintenance.lua
(maintenance and configuration change linked mapping)
>plugins
(plugins settings)
init.lua
(load other files)
loader.lua
(install and load plugins and plugins settings)
>{name of a plugin}
({name of a plugin} settings)
init.lua
(load other files)
--]]
require('display') -- ui and graphical settings
require('general') -- settings not in other category
require('mapping') -- key mapping settings
require('plugins') -- plugins settings

View file

@ -0,0 +1,3 @@
--[[
Loads ui settings for the neovim's command-line
--]]

View file

@ -0,0 +1,10 @@
--[[
Loads ui settings for the editor
--]]
vim.opt.relativenumber = true -- display relative number from the line you are
vim.opt.wrap = false -- do not break word from line to other
vim.opt.emoji = false -- do not display emoji with specific width
-- cursor option
vim.opt.cursorline = true -- display line you are on
vim.opt.cursorcolumn = true -- display column you are on

View file

@ -0,0 +1,7 @@
--[[
Loads general graphic settings
--]]
vim.opt.guifont = "mononoki NFM:h11" -- set font
vim.opt.background = dark -- set theme
vim.cmd( 'silent! colorscheme monokai') -- set colorscheme

View file

@ -0,0 +1,13 @@
--[[
Loads ui and graphical settings
This file only loads others
To have a full display of the configuration structure, see the root init.lua
--]]
require('display.cmd') -- ui settings for the cmd
require('display.editor') -- ui settings for the editor
require('display.graphic') -- general graphic settings

View file

@ -0,0 +1,7 @@
--[[
Loads cmd settings
--]]
vim.opt.confirm = true -- ask confirmation before leaving an unsaved file
vim.opt.ignorecase = true -- ignore case in search pattern
vim.opt.smartcase = true -- stop ignoring case in search pattern if upper case

View file

@ -0,0 +1,16 @@
--[[
Loads editor settings
--]]
vim.opt.textwidth = 72 -- maximum width of text (80 is a standard, but with
-- diff marker and email quoting, 72 is safer)
-- apply it to each filetype
vim.opt.formatoptions:append({ t, 1 })
vim.api.nvim_create_autocmd(
{"Filetype"},
{
pattern = {"*"},
command = ":setlocal formatoptions+=t1"
}
)

View file

@ -0,0 +1,7 @@
--[[
Loads tab and indent settings
--]]
vim.opt.tabstop = 4 -- number of space equivalent to a tab
vim.opt.shiftwidth = 4 -- number of space to use for indenting
vim.opt.smartindent = true -- can auto insert indent

View file

@ -0,0 +1,15 @@
--[[
Loads settings not in others category
This file only loads others
To have a full display of the configuration structure, see the root init.lua
--]]
require('general.cmd') -- cmd settings
require('general.editor') -- editor settings
require('general.indent') -- tab and indent settings
require('general.lang') -- lang settings

View file

@ -0,0 +1,5 @@
--[[
Loads lang settings
--]]
vim.opt.spell = true -- enable spell checking

View file

@ -0,0 +1,14 @@
--[[
Loads key mapping settings
This file only loads others
To have a full display of the configuration structure, see the root init.lua
--]]
require('mapping.mapleader') -- define mapleader key
require('mapping.movement') -- movement linked mapping
require('mapping.maintenance') -- maintenance and configuration change linked
-- mapping

View file

@ -0,0 +1,8 @@
--[[
Loads maintenance and configuration change linked mapping
--]]
local vimrc = 'C:\\Users\\DELL\\AppData\\Local\\nvim\\init.lua' -- path to
-- init.lua /!\ to change for each OS /!\
vim.keymap.set('n', '<Leader>ie', ':tabedit ' .. vimrc .. '<CR>') -- edit it
vim.keymap.set('n', '<Leader>is', ':source ' .. vimrc .. '<CR>') -- source it

View file

@ -0,0 +1,5 @@
--[[
Defines mapleader key
--]]
vim.g.mapleader = ','

View file

@ -0,0 +1,13 @@
--[[
Loads movement linked mapping
--]]
-- moves through buffer with only one key press
vim.keymap.set('n', '<C-h>', '<C-w>h')
vim.keymap.set('n', '<C-j>', '<C-w>j')
vim.keymap.set('n', '<C-k>', '<C-w>k')
vim.keymap.set('n', '<C-l>', '<C-w>l')
-- jump to tag under the cursor with an azerty keyboard
vim.keymap.set('n', '<Leader>c', '<C-]>')
vim.keymap.set('i', '<Leader>c', '<C-]>')

View file

@ -0,0 +1,10 @@
--[[
Loads settings for dashboard-nvim plugin
This file only loads others
To have a full display of the configuration structure, see the root
init.lua
--]]
require('plugins.dashboard-nvim.menu') -- loads menu settings

View file

@ -0,0 +1,52 @@
--[[
Loads menu settings
--]]
local db = require('dashboard')
db.custom_header = {
'',
'MMMMMMMMMWkdXMMMMMMMMMMMMMWXOd:\'.. ..\':oOXWMMMMMMMMMMMMMNxkWMMMMMMMMM',
'MMMMMMMMMWo.;kNMMMMMMMMNOd:\'. .\':oONMMMMMMMMWO:.lWMMMMMMMMM',
'MMMMMMMMMWo ;kNMMMNkc\' \'ckXMMMWO:. lWMMMMMMMMM',
'MMMMMMMMMWo .;kKd\' \'oKO:. lWMMMMMMMMM',
'MMMMMMMMMWo .xO:. :Ox\' lWMMMMMMMMM',
'MMMMMMMMMWo .oKWMNk;. ;kNMMXd\' lWMMMMMMMMM',
'MMMMMMMMMWo..oKWMMMMMNk;. ;kNMMMMMMXd\'.lWMMMMMMMMM',
'MMMMMMMMMWOdKWMMMMMMMMMNk;. ;kNMMMMMMMMMWXxOWMMMMMMMMM',
'MMMMMMMMMMMMMMMMMMMMMMMMMNk;. ;kNMMMMMMMMMMMMMMMMMMMMMMMMM',
'MMMMMMMMMMMMMMMMMMMMMMMMMMMNk;. ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMM',
'MMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk;. ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMM',
'MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk;. ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM',
'MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk;. .;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM',
'XWMMMMMMMW0doooooooooooooooooooooooddddooooooooooooooooooooooooo0WMMMMMMMMX',
',oKWMMMMMWd. ;kNMNk; oWMMMMMMXo\'',
'. .oKWMMMMk. ;kNMMMMMNk; .kMMMMMXd\' ',
'\' .oXWMMX; ;kNMMMMMMMMMNk; ;KMMWXd\' .',
'c .oXWWx. ;kNMMMMMMMMMMMMMNk; .xWWXd\' :',
'O. .oXNo ;kNMMMMMMMMMMMMMMMMMNk; lXXd\' .k',
'No .oOc ;kNMMMMMMMMMMMMMMMMMMMMMNk; cOd\' lN',
'MX: \'c;. ;kNMMMMMMMMMMMMMMMMMMMMMMMMMNk; .;c\' ;KM',
'MM0; ... ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk; ... ,0MM',
'MMM0; .:kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk:. ,0MMM',
'MMMMKc ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk; :KMMMM',
'MMMMMNd. ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk; .oXMMMMM',
'MMMMMMW0:. ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk; ;OWMMMMMM',
'MMMMMMMMNl\'lXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXl\'lXMMMMMMMM',
'',
}
db.custom_center = {
{
icon = '',
desc = ' load previous session ',
shortcut = ' , p s l',
action = 'SessionLoad'
},
{
icon = '',
desc = ' recently opened file ',
shortcut = ' , f f o',
action = 'DashboardFindHistory'
}
}

View file

@ -0,0 +1,8 @@
--[[
Loads ui settings of indent-blankline plugin
--]]
vim.opt.list = true -- display indent
vim.opt.listchars:append('eol:↴') -- display end of line (eof)
vim.opt.listchars:append('space:⋅') -- display space

View file

@ -0,0 +1,11 @@
--[[
Loads list of excluded context where we do not needs to use the plugin
--]]
require('indent_blankline').setup{
filetype_exclude = {
'dashboard' -- used by the dashboard-nvim plugin
},
}

View file

@ -0,0 +1,16 @@
--[[
Loads settings for indent-blankline plugin
This file only loads others
To have a full display of the configuration structure, see the root
init.lua
--]]
require('plugins.indent-blankline.display') -- ui and graphical settings
require('plugins.indent-blankline.exclusions') -- excluded context
require('plugins.indent-blankline.mapping') -- key mapping settings
require('plugins.indent-blankline.setup') -- setup settings

View file

@ -0,0 +1,7 @@
--[[
Loads key mapping settings for the plugin indent-blankline
--]]
vim.keymap.set('n', '<leader>pwt', function() -- toggle the plugin
vim.g.indent_blankline_enabled = not vim.g.indent_blankline_enabled
end)

View file

@ -0,0 +1,8 @@
--[[
Loads setup settings for indent-blankline plugin (except exclusion
settings managed in exclusions.lua)
--]]
require('indent_blankline').setup{
use_treesitter = true,
}

View file

@ -0,0 +1,18 @@
--[[
Loads plugins settings
This file only loads others
To have a full display of the configuration structure, see the root init.lua
--]]
require('plugins.loader') -- install and load plugins and plugins settings
require('plugins.vim-easy-align') -- settings for vim-easy-align plugin
require('plugins.dashboard-nvim') -- settings for dashboard-nvim plugin
require('plugins.indent-blankline') -- settings for indeent-blankline
--settings
require('plugins.nvim-treesitter') -- setting for nvim-treesitter plugin

View file

@ -0,0 +1,48 @@
--[[
Installs and loads plugins and plugins settings
--]]
-- Packer startup
return require('packer').startup(function(use)
use 'wbthomason/packer.nvim' -- packer can manage itself
use { -- install fzf as a neovim plugin
'junegunn/fzf',
run = './install --bin'
}
use 'vijaymarupudi/nvim-fzf' -- link between lua and fzf
use { 'ibhagwan/fzf-lua', -- fzf.vim replacement with lua (only for
--linux)
-- optional for icon support
requires = { 'nvim-tree/nvim-web-devicons' }
}
use 'tpope/vim-fugitive' -- Git plugin
use 'glepnir/dashboard-nvim' -- dashboard
use 'lukas-reineke/indent-blankline.nvim' -- add indentation guides
--to all lines
use {'nvim-treesitter/nvim-treesitter', -- parser generator tool
-- (completion and better syntax highlighting)
run = function()
local ts_update = require('nvim-treesitter.install').update(
{ with_sync = true }
)
ts_update()
end,
}
use 'junegunn/gv.vim' -- git commit browser for vim-fugitive
use 'junegunn/vim-peekaboo' -- real time view of the register
use 'junegunn/vim-easy-align' -- align multiple line on a symbol
use 'tanvirtin/monokai.nvim' -- coloscheme
use 'nvim-tree/nvim-web-devicons' -- adds icons to plugins
end)

View file

@ -0,0 +1,13 @@
--[[
Loads settings for nvim-treesitter plugin
This file only loads others
To have a full display of the configuration structure, see the root
init.lua
--]]
require('plugins.nvim-treesitter.workaround') -- workaround found on
--https://github.com/nvim-treesitter/nvim-treesitter/wiki/Installation
require('plugins.nvim-treesitter.setup') -- setup settings

View file

@ -0,0 +1,14 @@
--[[
Loads setup settings for nvim-treesitter plugin
--]]
require('nvim-treesitter.configs').setup {
ensure_installed = 'all', -- installed parser
sync_install = false, -- don't install parsers synchronously
auto_install = false, -- install missing parsers when entering
--buffer
highlight = {
enable = true, -- enable highlighting
}
}

View file

@ -0,0 +1,17 @@
--[[
Loads workaround found on
https://github.com/nvim-treesitter/nvim-treesitter/wiki/Installation
--]]
-- vim.opt.foldmethod = 'expr'
-- vim.opt.foldexpr = 'nvim_treesitter#foldexpr()'
---WORKAROUND to enable folding
--[[ vim.api.nvim_create_autocmd({'BufEnter','BufAdd','BufNew','BufNewFile','BufWinEnter'}, {
group = vim.api.nvim_create_augroup('TS_FOLD_WORKAROUND', {}),
callback = function()
vim.opt.foldmethod = 'expr'
vim.opt.foldexpr = 'nvim_treesitter#foldexpr()'
end
})
--]]
---ENDWORKAROUND

View file

@ -0,0 +1,10 @@
--[[
Loads settings for vim-easy-align plugin
This file only loads others
To have a full display of the configuration structure, see the root
init.lua
--]]
require('plugins.vim-easy-align.mapping') -- key mapping settings

View file

@ -0,0 +1,6 @@
--[[
Loads key mapping settings
--]]
vim.keymap.set('v', '<Leader>pa', '<Plug>(EasyAlign)') -- align selected
-- lines

View file

@ -0,0 +1,159 @@
-- Automatically generated packer.nvim plugin loader code
if vim.api.nvim_call_function('has', {'nvim-0.5'}) ~= 1 then
vim.api.nvim_command('echohl WarningMsg | echom "Invalid Neovim version for packer.nvim! | echohl None"')
return
end
vim.api.nvim_command('packadd packer.nvim')
local no_errors, error_msg = pcall(function()
_G._packer = _G._packer or {}
_G._packer.inside_compile = true
local time
local profile_info
local should_profile = false
if should_profile then
local hrtime = vim.loop.hrtime
profile_info = {}
time = function(chunk, start)
if start then
profile_info[chunk] = hrtime()
else
profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6
end
end
else
time = function(chunk, start) end
end
local function save_profiles(threshold)
local sorted_times = {}
for chunk_name, time_taken in pairs(profile_info) do
sorted_times[#sorted_times + 1] = {chunk_name, time_taken}
end
table.sort(sorted_times, function(a, b) return a[2] > b[2] end)
local results = {}
for i, elem in ipairs(sorted_times) do
if not threshold or threshold and elem[2] > threshold then
results[i] = elem[1] .. ' took ' .. elem[2] .. 'ms'
end
end
if threshold then
table.insert(results, '(Only showing plugins that took longer than ' .. threshold .. ' ms ' .. 'to load)')
end
_G._packer.profile_output = results
end
time([[Luarocks path setup]], true)
local package_path_str = "/home/linarphy/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/home/linarphy/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/home/linarphy/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/home/linarphy/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua"
local install_cpath_pattern = "/home/linarphy/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/lua/5.1/?.so"
if not string.find(package.path, package_path_str, 1, true) then
package.path = package.path .. ';' .. package_path_str
end
if not string.find(package.cpath, install_cpath_pattern, 1, true) then
package.cpath = package.cpath .. ';' .. install_cpath_pattern
end
time([[Luarocks path setup]], false)
time([[try_loadstring definition]], true)
local function try_loadstring(s, component, name)
local success, result = pcall(loadstring(s), name, _G.packer_plugins[name])
if not success then
vim.schedule(function()
vim.api.nvim_notify('packer.nvim: Error running ' .. component .. ' for ' .. name .. ': ' .. result, vim.log.levels.ERROR, {})
end)
end
return result
end
time([[try_loadstring definition]], false)
time([[Defining packer_plugins]], true)
_G.packer_plugins = {
["dashboard-nvim"] = {
loaded = true,
path = "/home/linarphy/.local/share/nvim/site/pack/packer/start/dashboard-nvim",
url = "https://github.com/glepnir/dashboard-nvim"
},
fzf = {
loaded = true,
path = "/home/linarphy/.local/share/nvim/site/pack/packer/start/fzf",
url = "https://github.com/junegunn/fzf"
},
["fzf-lua"] = {
loaded = true,
path = "/home/linarphy/.local/share/nvim/site/pack/packer/start/fzf-lua",
url = "https://github.com/ibhagwan/fzf-lua"
},
["gv.vim"] = {
loaded = true,
path = "/home/linarphy/.local/share/nvim/site/pack/packer/start/gv.vim",
url = "https://github.com/junegunn/gv.vim"
},
["indent-blankline.nvim"] = {
loaded = true,
path = "/home/linarphy/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim",
url = "https://github.com/lukas-reineke/indent-blankline.nvim"
},
["monokai.nvim"] = {
loaded = true,
path = "/home/linarphy/.local/share/nvim/site/pack/packer/start/monokai.nvim",
url = "https://github.com/tanvirtin/monokai.nvim"
},
["nvim-fzf"] = {
loaded = true,
path = "/home/linarphy/.local/share/nvim/site/pack/packer/start/nvim-fzf",
url = "https://github.com/vijaymarupudi/nvim-fzf"
},
["nvim-treesitter"] = {
loaded = true,
path = "/home/linarphy/.local/share/nvim/site/pack/packer/start/nvim-treesitter",
url = "https://github.com/nvim-treesitter/nvim-treesitter"
},
["nvim-web-devicons"] = {
loaded = true,
path = "/home/linarphy/.local/share/nvim/site/pack/packer/start/nvim-web-devicons",
url = "https://github.com/nvim-tree/nvim-web-devicons"
},
["packer.nvim"] = {
loaded = true,
path = "/home/linarphy/.local/share/nvim/site/pack/packer/start/packer.nvim",
url = "https://github.com/wbthomason/packer.nvim"
},
["vim-easy-align"] = {
loaded = true,
path = "/home/linarphy/.local/share/nvim/site/pack/packer/start/vim-easy-align",
url = "https://github.com/junegunn/vim-easy-align"
},
["vim-fugitive"] = {
loaded = true,
path = "/home/linarphy/.local/share/nvim/site/pack/packer/start/vim-fugitive",
url = "https://github.com/tpope/vim-fugitive"
},
["vim-peekaboo"] = {
loaded = true,
path = "/home/linarphy/.local/share/nvim/site/pack/packer/start/vim-peekaboo",
url = "https://github.com/junegunn/vim-peekaboo"
}
}
time([[Defining packer_plugins]], false)
_G._packer.inside_compile = false
if _G._packer.needs_bufread == true then
vim.cmd("doautocmd BufRead")
end
_G._packer.needs_bufread = false
if should_profile then save_profiles() end
end)
if not no_errors then
error_msg = error_msg:gsub('"', '\\"')
vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None')
end

View file

@ -0,0 +1,102 @@
# Initialization file
#
# This file only loads others to improve readability of settings
#
# File organization
#
# legend:
# -name : folder
# -name : sub-folder
# name : file
# (name) : comment
#
# -config.d
# (contains all configuration files)
# -display
# (ui and graphical settings)
# background.conf
# (background configuration)
# bar.conf
# (swaybar configuration)
# general_display.conf
# (set general display settings like colors)
# init.conf
# (load other files)
# -general
# (settings not in other category)
# general.conf
# (general settings)
# init.conf
# (load other files)
# -hardware
# (hardware settings)
# init.conf
# (load other files)
# -input
# (input settings)
# init.conf
# (load other files)
# keyboard.conf
# (keyboard configuration)
# touchpad.conf
# (touchpad configuration)
# -mapping
# (key mapping settings)
# general_mapping.conf
# (set general mapping, which are used in other shortcut)
# init.conf
# (load other files)
# launch.conf
# (set shortcut to start activity)
# layout.conf
# (set shortcut related to layout)
# movement.conf
# (set shortcut to move)
# scratchpad.conf
# (set shortcut related to scratchpad)
# workspace.conf
# (set shortcut related to workspace)
# -modes
# (mode configuration)
# init.conf
# (load other files)
# loader.conf
# (install and load modes and modes settings)
# -{name of a mode}
# ({name of a mode} settings)
# init.conf
# (load other files)
# -plugins
# (plugins settings)
# init.conf
# (load other files)
# loader.conf
# (install and load plugins and plugins settings)
# -{name of a plugin}
# ({name of a plugin} settings)
# init.conf
# (load other files)
# -tools
# (tools setting)
# loader.conf
# (load tools settings)
# init.conf
# (load other files)
# -{name of a tool}
# ({name of a tool} settings)
# init.conf
# (load other files)
include config.d/hardware/init.conf
include config.d/tools/init.conf
include config.d/display/init.conf
include config.d/mapping/init.conf
include config.d/general/init.conf
include config.d/plugins/init.conf
include config.d/modes/init.conf

View file

@ -0,0 +1,2 @@
# Background settings
output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill

View file

@ -0,0 +1,15 @@
# Swaybar settings
bar {
position top
# When the status_command prints a new line to stdout, swaybar updates.
# The default just shows the current date and time.
status_command while date +'%Y-%m-%d %I:%M:%S %p'; do sleep 1; done
colors {
statusline #ffffff
background #323232
inactive_workspace #32323200 #32323200 #5c5c5c
}
}

View file

@ -0,0 +1 @@
# General display settings, like default colors

View file

@ -0,0 +1,12 @@
# Ui and graphical settings
#
# This file only loads others
#
# To have a full display of the configuration structure, see the root
# config file
include background.conf
include general_display.conf
include bar.conf

View file

@ -0,0 +1,3 @@
# General settings
floating_modifier $mod normal

View file

@ -0,0 +1,8 @@
# Settings not in other category
#
# This file only loads others
#
# To have a full display of the configuration structure, see the root
# config file
include general.conf

View file

@ -0,0 +1,10 @@
# Loads hardware configuration
#
# This file only loads others
#
# To have a full display of the configuration structure, see the root
# config file
include input/init.conf
include output/init.conf

View file

@ -0,0 +1,10 @@
# Loads hardware input configuration
#
# This file only loads others
#
# To have a full display of the configuration structure, see the root
# config file
include keyboard.conf
include touchpad.conf

View file

@ -0,0 +1,7 @@
# Load keyboard configuration
input "type:keyboard" {
xkb_model "pc102"
xkb_layout "fr"
xkb_variant "oss"
}

View file

@ -0,0 +1,8 @@
# Load touchpad configuration
input "type:touchpad" {
drag enabled
dwt enabled
middle_emulation enabled
natural_scroll enabled
}

View file

@ -0,0 +1,11 @@
# Set general mapping, used in other shortcut
set $mod Mod4
# Variant key to change effect of a shorctut
set $variant Shift
set $left l
set $right h
set $top k
set $down j

View file

@ -0,0 +1,18 @@
# Loads key mapping settings
#
# This file only loads others
#
# To have a full display of the configuration structure, see the root
# config file
include general_mapping.conf
include launch.conf
include layout.conf
include movement.conf
include scratchpad.conf
include workspace.conf

View file

@ -0,0 +1,16 @@
# Shortcut to start/stop activity
# launch a terminal
bindsym $mod+Return exec $terminal
# kill focused window
bindsym $mod+$variant+q kill
# start app launcher
bindsym $mod+d exec $menu
# reload configuration file
bindsym $mod+$variant+c reload
# exit sway
bindsym $mod+$variant+e exec swaynag -t warning -m 'Voulez-vous vraiment quitter sway? Cela arrêtera votre session Wayland.' -B 'Oui, quitter sway' 'swaymsg exit'

View file

@ -0,0 +1,18 @@
# Set shortcut to change layout
# splitting
bindsym $mod+b splith
bindsym $mod+v splitv
# switch current container between different layout styles
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
bindsym $mod+f fullscreen
bindsym $mod+$variant+space floating toggle
# focus change
# swap focus between tiling area and floting area
bindsym $mod+space focus mod_toggle
# move focus to the parent container
bindsym $mod+a focus parent

View file

@ -0,0 +1,13 @@
# Set shortcut to move around
# Focus
bindsym $mod+$left focus left
bindsym $mod+$right focus right
bindsym $mod+$top focus top
bindsym $mod+$down focus down
# Window
bindsym $mod+$variant+$left move left
bindsym $mod+$variant+$right move right
bindsym $mod+$variant+$top move top
bindsym $mod+$variant+$down move down

View file

@ -0,0 +1,7 @@
# Set shortcut related to scratchpad
#
# Sway "scratchpad" is a bag of holding for windows.
# You can send windows there and get them back later.
bindsym $mod+$variant+minus move scratchpad
bindsym $mod+minus scratchpad show

View file

@ -0,0 +1,25 @@
# Set shortcut related to workspace
# Move to workspace
bindsym $mod+1 workspace number 1
bindsym $mod+2 workspace number 2
bindsym $mod+3 workspace number 3
bindsym $mod+4 workspace number 4
bindsym $mod+5 workspace number 5
bindsym $mod+6 workspace number 6
bindsym $mod+7 workspace number 7
bindsym $mod+8 workspace number 8
bindsym $mod+9 workspace number 9
bindsym $mod+0 workspace number 10
# Move container to workspace
bindsym $mod+$variant+1 move container to workspace number 1
bindsym $mod+$variant+2 move container to workspace number 2
bindsym $mod+$variant+3 move container to workspace number 3
bindsym $mod+$variant+4 move container to workspace number 4
bindsym $mod+$variant+5 move container to workspace number 5
bindsym $mod+$variant+6 move container to workspace number 6
bindsym $mod+$variant+7 move container to workspace number 7
bindsym $mod+$variant+8 move container to workspace number 8
bindsym $mod+$variant+9 move container to workspace number 9
bindsym $mod+$variant+0 move container to workspace number 10

View file

@ -0,0 +1,8 @@
# Modes configuration
#
# This file only loads others
#
# To have a full display of the configuration structure, see the root
# config file
include loader.conf

View file

@ -0,0 +1,3 @@
# Load modes configuration
include resize/init.conf

View file

@ -0,0 +1,15 @@
# Mode definition
mode "resize" {
# left will shrink the containers width
# right will grow the containers width
# up will shrink the containers height
# down will grow the containers height
bindsym $left resize shrink width 10px
bindsym $down resize grow height 10px
bindsym $top resize shrink height 10px
bindsym $right resize grow width 10px
# Return to default mode
bindsym Escape mode "default"
}

View file

@ -0,0 +1,11 @@
# Resize mode configuration
# This mode allow to resize windows
#
# This file only loads others
#
# To have a full display of the configuration structure, see the root
# config file
include definition.conf
include mapping.conf

View file

@ -0,0 +1,3 @@
# Shortcut to start the mode
bindsym $mod+r mode "resize"

View file

@ -0,0 +1,8 @@
# Plugins settings
#
# This file only loads others
#
# To have a full display of the configuration structure, see the root
# config file
include loader.conf

View file

@ -0,0 +1,3 @@
# Install and load plugins and plugins settings
include systemd/init.conf

View file

@ -0,0 +1,8 @@
# Systemd plugin (default in arch)
#
# This file only loads others
#
# To have a full display of the configuration structure, see the root
# config file
include systemd-user.conf

View file

@ -0,0 +1,7 @@
# sway does not set DISPLAY/WAYLAND_DISPLAY in the systemd user environment
# See FS#63021
# Adapted from xorg's 50-systemd-user.sh, which achieves a similar goal.
exec systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP
exec hash dbus-update-activation-environment 2>/dev/null && \
dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP

View file

@ -0,0 +1,8 @@
# Loads tools settings
#
# This file only loads others
#
# To have a full display of the configuration structure, see the root
# config file
include loader.conf

View file

@ -0,0 +1,7 @@
# Load differents tools
set $terminal alacritty
set $list fzf
set $menu dmenu_path | dmenu | xargs swaymsg exec --