feat: todos, decman config almost complete
This commit is contained in:
@@ -0,0 +1,17 @@
|
|||||||
|
# TODOs
|
||||||
|
- [ ] Notifications management via dms
|
||||||
|
- [ ] Launcher via dms
|
||||||
|
- [ ] DMS screenshots
|
||||||
|
- [ ] Hyprland theming using mutagen with dms integration
|
||||||
|
- [ ] Copy the DMS configs here
|
||||||
|
- [ ] DMS config sync to here using script
|
||||||
|
- [ ] Binds for other DMS features (with subcommand)
|
||||||
|
- [ ] Finish decman config
|
||||||
|
- [ ] Remove wlogout and replace with dms setup
|
||||||
|
- [ ] Yazi theming
|
||||||
|
- [ ] Kitty theming
|
||||||
|
- [ ] Fish theming
|
||||||
|
- [ ] Fastfetch theming
|
||||||
|
- [ ] DMS instead of Hyprlock for locker?
|
||||||
|
- [ ] Zathura theming possible?
|
||||||
|
- [ ] Librewolf theme
|
||||||
@@ -1,5 +1,8 @@
|
|||||||
grub_theme = "/usr/share/grub/themes/monterey-grub-theme/theme.txt"
|
grub_theme = {
|
||||||
grub_os_prober = True
|
"desktop": "/usr/share/grub/themes/monterey-grub-theme/theme.txt",
|
||||||
kernel_args_all = ""
|
"laptop": "/usr/share/grub/themes/monterey-grub-theme/theme.txt",
|
||||||
kernel_args_debug_only = ""
|
}
|
||||||
kernel_args_normal_only = ""
|
grub_os_prober = {"desktop": True, "laptop": False}
|
||||||
|
kernel_args_all = {"desktop": "", "laptop": ""}
|
||||||
|
kernel_args_debug_only = {"desktop": "", "laptop": ""}
|
||||||
|
kernel_args_normal_only = {"desktop": "", "laptop": ""}
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ hl.on("hyprland.start", function()
|
|||||||
hl.exec_cmd("hyprlauncher -d")
|
hl.exec_cmd("hyprlauncher -d")
|
||||||
hl.exec_cmd("nm-applet")
|
hl.exec_cmd("nm-applet")
|
||||||
hl.exec_cmd("nextcloud --background")
|
hl.exec_cmd("nextcloud --background")
|
||||||
hl.exec_cmd("quickshell")
|
hl.exec_cmd("dms run")
|
||||||
hl.exec_cmd("matugen")
|
|
||||||
hl.exec_cmd("wl-paste --type text --watch cliphist store")
|
hl.exec_cmd("wl-paste --type text --watch cliphist store")
|
||||||
end)
|
end)
|
||||||
|
|||||||
@@ -0,0 +1,276 @@
|
|||||||
|
# ─────────────────────────────────────────────────────────────────────
|
||||||
|
# ╭─────────────────────────────────────────────────╮
|
||||||
|
# │ clang-format config │
|
||||||
|
# ╰─────────────────────────────────────────────────╯
|
||||||
|
# ─────────────────────────────────────────────────────────────────────
|
||||||
|
BasedOnStyle: LLVM
|
||||||
|
AccessModifierOffset: -2
|
||||||
|
AlignAfterOpenBracket: BlockIndent
|
||||||
|
AlignArrayOfStructures: Left
|
||||||
|
AlignConsecutiveAssignments:
|
||||||
|
Enabled: false
|
||||||
|
AcrossEmptyLines: false
|
||||||
|
AcrossComments: false
|
||||||
|
AlignCompound: false
|
||||||
|
AlignFunctionPointers: false
|
||||||
|
PadOperators: true
|
||||||
|
AlignConsecutiveBitFields:
|
||||||
|
Enabled: true
|
||||||
|
AcrossEmptyLines: false
|
||||||
|
AcrossComments: false
|
||||||
|
AlignCompound: false
|
||||||
|
AlignFunctionPointers: false
|
||||||
|
PadOperators: false
|
||||||
|
AlignConsecutiveDeclarations:
|
||||||
|
Enabled: false
|
||||||
|
AcrossEmptyLines: false
|
||||||
|
AcrossComments: false
|
||||||
|
AlignCompound: false
|
||||||
|
AlignFunctionPointers: false
|
||||||
|
PadOperators: false
|
||||||
|
AlignConsecutiveMacros:
|
||||||
|
Enabled: true
|
||||||
|
AcrossEmptyLines: false
|
||||||
|
AcrossComments: false
|
||||||
|
AlignCompound: false
|
||||||
|
AlignFunctionPointers: false
|
||||||
|
PadOperators: false
|
||||||
|
AlignConsecutiveShortCaseStatements:
|
||||||
|
Enabled: true
|
||||||
|
AcrossEmptyLines: false
|
||||||
|
AcrossComments: false
|
||||||
|
AlignCaseArrows: false
|
||||||
|
AlignCaseColons: false
|
||||||
|
AlignConsecutiveTableGenBreakingDAGArgColons:
|
||||||
|
Enabled: false
|
||||||
|
AcrossEmptyLines: false
|
||||||
|
AcrossComments: false
|
||||||
|
AlignCompound: false
|
||||||
|
AlignFunctionPointers: false
|
||||||
|
PadOperators: false
|
||||||
|
AlignConsecutiveTableGenCondOperatorColons:
|
||||||
|
Enabled: false
|
||||||
|
AcrossEmptyLines: false
|
||||||
|
AcrossComments: false
|
||||||
|
AlignCompound: false
|
||||||
|
AlignFunctionPointers: false
|
||||||
|
PadOperators: false
|
||||||
|
AlignConsecutiveTableGenDefinitionColons:
|
||||||
|
Enabled: false
|
||||||
|
AcrossEmptyLines: false
|
||||||
|
AcrossComments: false
|
||||||
|
AlignCompound: false
|
||||||
|
AlignFunctionPointers: false
|
||||||
|
PadOperators: false
|
||||||
|
AlignEscapedNewlines: Right
|
||||||
|
AlignOperands: Align
|
||||||
|
AlignTrailingComments:
|
||||||
|
Kind: Always
|
||||||
|
OverEmptyLines: 0
|
||||||
|
AllowAllArgumentsOnNextLine: true
|
||||||
|
AllowAllParametersOfDeclarationOnNextLine: true
|
||||||
|
AllowBreakBeforeNoexceptSpecifier: Never
|
||||||
|
AllowShortBlocksOnASingleLine: Never
|
||||||
|
AllowShortCaseExpressionOnASingleLine: true
|
||||||
|
AllowShortCaseLabelsOnASingleLine: false
|
||||||
|
AllowShortCompoundRequirementOnASingleLine: true
|
||||||
|
AllowShortEnumsOnASingleLine: true
|
||||||
|
AllowShortFunctionsOnASingleLine: Empty
|
||||||
|
AllowShortIfStatementsOnASingleLine: Never
|
||||||
|
AllowShortLambdasOnASingleLine: All
|
||||||
|
AllowShortLoopsOnASingleLine: false
|
||||||
|
AlwaysBreakAfterDefinitionReturnType: None
|
||||||
|
AlwaysBreakBeforeMultilineStrings: false
|
||||||
|
AttributeMacros:
|
||||||
|
- __capability
|
||||||
|
BinPackArguments: false
|
||||||
|
BinPackParameters: false
|
||||||
|
BitFieldColonSpacing: Both
|
||||||
|
BraceWrapping:
|
||||||
|
AfterCaseLabel: false
|
||||||
|
AfterClass: false
|
||||||
|
AfterControlStatement: Never
|
||||||
|
AfterEnum: false
|
||||||
|
AfterFunction: false
|
||||||
|
AfterNamespace: false
|
||||||
|
AfterObjCDeclaration: false
|
||||||
|
AfterStruct: true
|
||||||
|
AfterUnion: false
|
||||||
|
AfterExternBlock: false
|
||||||
|
BeforeCatch: false
|
||||||
|
BeforeElse: false
|
||||||
|
BeforeLambdaBody: false
|
||||||
|
BeforeWhile: false
|
||||||
|
IndentBraces: false
|
||||||
|
SplitEmptyFunction: true
|
||||||
|
SplitEmptyRecord: true
|
||||||
|
SplitEmptyNamespace: true
|
||||||
|
BreakAdjacentStringLiterals: true
|
||||||
|
BreakAfterAttributes: Always
|
||||||
|
BreakAfterJavaFieldAnnotations: false
|
||||||
|
BreakAfterReturnType: None
|
||||||
|
BreakArrays: true
|
||||||
|
BreakBeforeBinaryOperators: All
|
||||||
|
BreakBeforeBraces: Attach
|
||||||
|
BreakBeforeConceptDeclarations: Always
|
||||||
|
BreakBeforeInlineASMColon: OnlyMultiline
|
||||||
|
BreakBeforeTernaryOperators: true
|
||||||
|
BreakConstructorInitializers: BeforeColon
|
||||||
|
BreakFunctionDefinitionParameters: false
|
||||||
|
BreakInheritanceList: BeforeColon
|
||||||
|
BreakStringLiterals: true
|
||||||
|
BreakTemplateDeclarations: MultiLine
|
||||||
|
ColumnLimit: 100
|
||||||
|
CommentPragmas: "^ IWYU pragma:"
|
||||||
|
CompactNamespaces: false
|
||||||
|
ConstructorInitializerIndentWidth: 4
|
||||||
|
ContinuationIndentWidth: 4
|
||||||
|
Cpp11BracedListStyle: true
|
||||||
|
DerivePointerAlignment: true
|
||||||
|
DisableFormat: false
|
||||||
|
EmptyLineAfterAccessModifier: Never
|
||||||
|
EmptyLineBeforeAccessModifier: Always
|
||||||
|
ExperimentalAutoDetectBinPacking: false
|
||||||
|
FixNamespaceComments: true
|
||||||
|
ForEachMacros:
|
||||||
|
- foreach
|
||||||
|
- Q_FOREACH
|
||||||
|
- BOOST_FOREACH
|
||||||
|
IfMacros:
|
||||||
|
- KJ_IF_MAYBE
|
||||||
|
IncludeBlocks: Preserve
|
||||||
|
IncludeCategories:
|
||||||
|
- Regex: ^"(llvm|llvm-c|clang|clang-c)/
|
||||||
|
Priority: 2
|
||||||
|
SortPriority: 0
|
||||||
|
CaseSensitive: false
|
||||||
|
- Regex: ^(<|"(gtest|gmock|isl|json)/)
|
||||||
|
Priority: 3
|
||||||
|
SortPriority: 0
|
||||||
|
CaseSensitive: false
|
||||||
|
- Regex: .*
|
||||||
|
Priority: 1
|
||||||
|
SortPriority: 0
|
||||||
|
CaseSensitive: false
|
||||||
|
IncludeIsMainRegex: (Test)?$
|
||||||
|
IncludeIsMainSourceRegex: ""
|
||||||
|
IndentAccessModifiers: true
|
||||||
|
IndentCaseBlocks: true
|
||||||
|
IndentCaseLabels: true
|
||||||
|
IndentExternBlock: AfterExternBlock
|
||||||
|
IndentGotoLabels: true
|
||||||
|
IndentPPDirectives: BeforeHash
|
||||||
|
IndentRequiresClause: true
|
||||||
|
IndentWidth: 4
|
||||||
|
IndentWrappedFunctionNames: true
|
||||||
|
InsertBraces: false
|
||||||
|
InsertNewlineAtEOF: false
|
||||||
|
InsertTrailingCommas: None
|
||||||
|
IntegerLiteralSeparator:
|
||||||
|
Binary: 0
|
||||||
|
BinaryMinDigits: 0
|
||||||
|
Decimal: 0
|
||||||
|
DecimalMinDigits: 0
|
||||||
|
Hex: 0
|
||||||
|
HexMinDigits: 0
|
||||||
|
JavaScriptQuotes: Leave
|
||||||
|
JavaScriptWrapImports: true
|
||||||
|
KeepEmptyLines:
|
||||||
|
AtEndOfFile: false
|
||||||
|
AtStartOfBlock: true
|
||||||
|
AtStartOfFile: true
|
||||||
|
LambdaBodyIndentation: Signature
|
||||||
|
LineEnding: DeriveLF
|
||||||
|
MacroBlockBegin: ""
|
||||||
|
MacroBlockEnd: ""
|
||||||
|
MainIncludeChar: Quote
|
||||||
|
MaxEmptyLinesToKeep: 1
|
||||||
|
NamespaceIndentation: None
|
||||||
|
ObjCBinPackProtocolList: Auto
|
||||||
|
ObjCBlockIndentWidth: 2
|
||||||
|
ObjCBreakBeforeNestedBlockParam: true
|
||||||
|
ObjCSpaceAfterProperty: false
|
||||||
|
ObjCSpaceBeforeProtocolList: true
|
||||||
|
PPIndentWidth: -1
|
||||||
|
PackConstructorInitializers: BinPack
|
||||||
|
PenaltyBreakAssignment: 2
|
||||||
|
PenaltyBreakBeforeFirstCallParameter: 19
|
||||||
|
PenaltyBreakComment: 300
|
||||||
|
PenaltyBreakFirstLessLess: 120
|
||||||
|
PenaltyBreakOpenParenthesis: 0
|
||||||
|
PenaltyBreakScopeResolution: 500
|
||||||
|
PenaltyBreakString: 1000
|
||||||
|
PenaltyBreakTemplateDeclaration: 10
|
||||||
|
PenaltyExcessCharacter: 1000000
|
||||||
|
PenaltyIndentedWhitespace: 0
|
||||||
|
PenaltyReturnTypeOnItsOwnLine: 60
|
||||||
|
PointerAlignment: Right
|
||||||
|
QualifierAlignment: Left
|
||||||
|
ReferenceAlignment: Pointer
|
||||||
|
ReflowComments: true
|
||||||
|
RemoveBracesLLVM: true
|
||||||
|
RemoveParentheses: MultipleParentheses
|
||||||
|
RemoveSemicolon: false
|
||||||
|
RequiresClausePosition: OwnLine
|
||||||
|
RequiresExpressionIndentation: OuterScope
|
||||||
|
SeparateDefinitionBlocks: Always
|
||||||
|
ShortNamespaceLines: 1
|
||||||
|
SkipMacroDefinitionBody: false
|
||||||
|
SortIncludes: CaseSensitive
|
||||||
|
SortJavaStaticImport: Before
|
||||||
|
SortUsingDeclarations: LexicographicNumeric
|
||||||
|
SpaceAfterCStyleCast: true
|
||||||
|
SpaceAfterLogicalNot: false
|
||||||
|
SpaceAfterTemplateKeyword: true
|
||||||
|
SpaceAroundPointerQualifiers: Default
|
||||||
|
SpaceBeforeAssignmentOperators: true
|
||||||
|
SpaceBeforeCaseColon: false
|
||||||
|
SpaceBeforeCpp11BracedList: true
|
||||||
|
SpaceBeforeCtorInitializerColon: true
|
||||||
|
SpaceBeforeInheritanceColon: true
|
||||||
|
SpaceBeforeJsonColon: false
|
||||||
|
SpaceBeforeParens: ControlStatements
|
||||||
|
SpaceBeforeParensOptions:
|
||||||
|
AfterControlStatements: true
|
||||||
|
AfterForeachMacros: true
|
||||||
|
AfterFunctionDeclarationName: true
|
||||||
|
AfterFunctionDefinitionName: true
|
||||||
|
AfterIfMacros: true
|
||||||
|
AfterOverloadedOperator: false
|
||||||
|
AfterPlacementOperator: true
|
||||||
|
AfterRequiresInClause: false
|
||||||
|
AfterRequiresInExpression: false
|
||||||
|
BeforeNonEmptyParentheses: false
|
||||||
|
SpaceBeforeRangeBasedForLoopColon: true
|
||||||
|
SpaceBeforeSquareBrackets: false
|
||||||
|
SpaceInEmptyBlock: false
|
||||||
|
SpacesBeforeTrailingComments: 1
|
||||||
|
SpacesInAngles: Never
|
||||||
|
SpacesInContainerLiterals: true
|
||||||
|
SpacesInLineCommentPrefix:
|
||||||
|
Minimum: 1
|
||||||
|
Maximum: -1
|
||||||
|
SpacesInParens: Custom
|
||||||
|
SpacesInParensOptions:
|
||||||
|
ExceptDoubleParentheses: false
|
||||||
|
InConditionalStatements: true
|
||||||
|
InCStyleCasts: false
|
||||||
|
InEmptyParentheses: false
|
||||||
|
Other: true
|
||||||
|
SpacesInSquareBrackets: true
|
||||||
|
Standard: Latest
|
||||||
|
StatementAttributeLikeMacros:
|
||||||
|
- Q_EMIT
|
||||||
|
StatementMacros:
|
||||||
|
- Q_UNUSED
|
||||||
|
- QT_REQUIRE_VERSION
|
||||||
|
TabWidth: 4
|
||||||
|
TableGenBreakInsideDAGArg: DontBreak
|
||||||
|
UseTab: Never
|
||||||
|
VerilogBreakBetweenInstancePorts: true
|
||||||
|
WhitespaceSensitiveMacros:
|
||||||
|
- BOOST_PP_STRINGIZE
|
||||||
|
- CF_SWIFT_NAME
|
||||||
|
- NS_SWIFT_NAME
|
||||||
|
- PP_STRINGIZE
|
||||||
|
- STRINGIZE
|
||||||
@@ -0,0 +1,744 @@
|
|||||||
|
import eslint from '@eslint/js';
|
||||||
|
import globals from 'globals';
|
||||||
|
import stylistic from '@stylistic/eslint-plugin';
|
||||||
|
import tseslint from 'typescript-eslint';
|
||||||
|
import typescript from '@typescript-eslint/eslint-plugin';
|
||||||
|
import vue from 'eslint-plugin-vue';
|
||||||
|
|
||||||
|
const style = {
|
||||||
|
'plugins': {
|
||||||
|
'@stylistic': stylistic,
|
||||||
|
'@stylistic/js': stylistic,
|
||||||
|
'@stylistic/ts': stylistic
|
||||||
|
},
|
||||||
|
'files': [
|
||||||
|
'**/*.ts',
|
||||||
|
'**/*.js',
|
||||||
|
'**/*.mjs',
|
||||||
|
'**/*.cjs',
|
||||||
|
'**/*.tsx',
|
||||||
|
'**/*.jsx'
|
||||||
|
],
|
||||||
|
'rules': {
|
||||||
|
'sort-imports': [
|
||||||
|
'warn',
|
||||||
|
{
|
||||||
|
'ignoreCase': false,
|
||||||
|
'ignoreDeclarationSort': false,
|
||||||
|
'ignoreMemberSort': false,
|
||||||
|
'memberSyntaxSortOrder': [
|
||||||
|
'none',
|
||||||
|
'all',
|
||||||
|
'multiple',
|
||||||
|
'single'
|
||||||
|
],
|
||||||
|
'allowSeparatedGroups': false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
// Formatting
|
||||||
|
'@stylistic/array-bracket-newline': [
|
||||||
|
'error',
|
||||||
|
{
|
||||||
|
'multiline': false,
|
||||||
|
'minItems': 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
'@stylistic/array-bracket-spacing': [
|
||||||
|
'error',
|
||||||
|
'always'
|
||||||
|
],
|
||||||
|
'@stylistic/array-element-newline': [
|
||||||
|
'error',
|
||||||
|
{
|
||||||
|
'consistent': false,
|
||||||
|
'multiline': false,
|
||||||
|
'minItems': 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
'@stylistic/arrow-parens': [
|
||||||
|
'error',
|
||||||
|
'as-needed'
|
||||||
|
],
|
||||||
|
'@stylistic/arrow-spacing': [
|
||||||
|
'error',
|
||||||
|
{
|
||||||
|
'before': true,
|
||||||
|
'after': true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
'@stylistic/block-spacing': [
|
||||||
|
'error',
|
||||||
|
'always'
|
||||||
|
],
|
||||||
|
'@stylistic/brace-style': [
|
||||||
|
'error',
|
||||||
|
'1tbs',
|
||||||
|
{
|
||||||
|
'allowSingleLine': false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
'@stylistic/comma-dangle': [
|
||||||
|
'error',
|
||||||
|
'never'
|
||||||
|
],
|
||||||
|
'@stylistic/comma-spacing': [
|
||||||
|
'error',
|
||||||
|
{
|
||||||
|
'before': false,
|
||||||
|
'after': true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
'@stylistic/comma-style': [
|
||||||
|
'error',
|
||||||
|
'last'
|
||||||
|
],
|
||||||
|
'@stylistic/dot-location': [
|
||||||
|
'error',
|
||||||
|
'property'
|
||||||
|
],
|
||||||
|
'@stylistic/function-call-argument-newline': [
|
||||||
|
'error',
|
||||||
|
'consistent'
|
||||||
|
],
|
||||||
|
'@stylistic/function-call-spacing': [
|
||||||
|
'error',
|
||||||
|
'never'
|
||||||
|
],
|
||||||
|
'@stylistic/function-paren-newline': [
|
||||||
|
'error',
|
||||||
|
'multiline-arguments'
|
||||||
|
],
|
||||||
|
'@stylistic/implicit-arrow-linebreak': [
|
||||||
|
'error',
|
||||||
|
'beside'
|
||||||
|
],
|
||||||
|
'@stylistic/indent': [
|
||||||
|
'error',
|
||||||
|
4
|
||||||
|
],
|
||||||
|
'@stylistic/indent-binary-ops': [
|
||||||
|
'error',
|
||||||
|
4
|
||||||
|
],
|
||||||
|
'@stylistic/key-spacing': [
|
||||||
|
'error',
|
||||||
|
{
|
||||||
|
'beforeColon': false,
|
||||||
|
'afterColon': true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
'@stylistic/keyword-spacing': [
|
||||||
|
'error',
|
||||||
|
{
|
||||||
|
'before': true,
|
||||||
|
'after': true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
'@stylistic/lines-between-class-members': [
|
||||||
|
'error',
|
||||||
|
'always'
|
||||||
|
],
|
||||||
|
'@stylistic/max-len': [
|
||||||
|
'warn',
|
||||||
|
{
|
||||||
|
'code': 140,
|
||||||
|
'comments': 160,
|
||||||
|
'ignoreComments': false,
|
||||||
|
'ignoreUrls': true,
|
||||||
|
'ignoreStrings': true,
|
||||||
|
'ignoreTemplateLiterals': true,
|
||||||
|
'ignoreRegExpLiterals': true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
'@stylistic/max-statements-per-line': [
|
||||||
|
'error',
|
||||||
|
{
|
||||||
|
'max': 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
'@stylistic/multiline-ternary': [
|
||||||
|
'error',
|
||||||
|
'always-multiline'
|
||||||
|
],
|
||||||
|
'@stylistic/new-parens': [
|
||||||
|
'error',
|
||||||
|
'always'
|
||||||
|
],
|
||||||
|
'@stylistic/newline-per-chained-call': 'error',
|
||||||
|
'@stylistic/no-confusing-arrow': 'error',
|
||||||
|
'@stylistic/no-extra-parens': [
|
||||||
|
'error',
|
||||||
|
'all',
|
||||||
|
{
|
||||||
|
'nestedBinaryExpressions': false,
|
||||||
|
'ternaryOperandBinaryExpressions': false,
|
||||||
|
'ignoreJSX': 'multi-line',
|
||||||
|
'nestedConditionalExpressions': false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
'@stylistic/no-extra-semi': 'error',
|
||||||
|
'@stylistic/no-floating-decimal': 'error',
|
||||||
|
'@stylistic/no-mixed-operators': 'error',
|
||||||
|
'@stylistic/no-mixed-spaces-and-tabs': 'error',
|
||||||
|
'@stylistic/no-multi-spaces': 'error',
|
||||||
|
'@stylistic/no-multiple-empty-lines': [
|
||||||
|
'error',
|
||||||
|
{
|
||||||
|
'max': 3,
|
||||||
|
'maxEOF': 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
'@stylistic/no-tabs': 'error',
|
||||||
|
'@stylistic/no-trailing-spaces': 'error',
|
||||||
|
'@stylistic/no-whitespace-before-property': 'error',
|
||||||
|
'@stylistic/object-curly-newline': [
|
||||||
|
'error',
|
||||||
|
{
|
||||||
|
'multiline': true,
|
||||||
|
'minProperties': 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
'@stylistic/object-curly-spacing': [
|
||||||
|
'error',
|
||||||
|
'always'
|
||||||
|
],
|
||||||
|
'@stylistic/object-property-newline': 'error',
|
||||||
|
'@stylistic/one-var-declaration-per-line': 'error',
|
||||||
|
'@stylistic/operator-linebreak': [
|
||||||
|
'error',
|
||||||
|
'before'
|
||||||
|
],
|
||||||
|
'@stylistic/padded-blocks': [
|
||||||
|
'error',
|
||||||
|
{
|
||||||
|
'blocks': 'never',
|
||||||
|
'classes': 'always',
|
||||||
|
'switches': 'never'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
|
||||||
|
// Padding lines. The most in-depth part of this config
|
||||||
|
'@stylistic/padding-line-between-statements': [
|
||||||
|
'error',
|
||||||
|
// Variables, Constants
|
||||||
|
{
|
||||||
|
'blankLine': 'never',
|
||||||
|
'prev': 'var',
|
||||||
|
'next': 'var'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'blankLine': 'never',
|
||||||
|
'prev': 'let',
|
||||||
|
'next': 'let'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'blankLine': 'never',
|
||||||
|
'prev': 'const',
|
||||||
|
'next': 'const'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'blankLine': 'always',
|
||||||
|
'prev': 'var',
|
||||||
|
'next': [
|
||||||
|
'block',
|
||||||
|
'block-like',
|
||||||
|
'break',
|
||||||
|
'cjs-export',
|
||||||
|
'cjs-import',
|
||||||
|
'class',
|
||||||
|
'const',
|
||||||
|
'continue',
|
||||||
|
'debugger',
|
||||||
|
'directive',
|
||||||
|
'do',
|
||||||
|
'empty',
|
||||||
|
'export',
|
||||||
|
'expression',
|
||||||
|
'for',
|
||||||
|
'function',
|
||||||
|
'if',
|
||||||
|
'iife',
|
||||||
|
'import',
|
||||||
|
'let',
|
||||||
|
'return',
|
||||||
|
'switch',
|
||||||
|
'throw',
|
||||||
|
'try',
|
||||||
|
'var',
|
||||||
|
'with'
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'blankLine': 'always',
|
||||||
|
'prev': 'let',
|
||||||
|
'next': [
|
||||||
|
'block',
|
||||||
|
'block-like',
|
||||||
|
'break',
|
||||||
|
'cjs-export',
|
||||||
|
'cjs-import',
|
||||||
|
'class',
|
||||||
|
'const',
|
||||||
|
'continue',
|
||||||
|
'debugger',
|
||||||
|
'directive',
|
||||||
|
'do',
|
||||||
|
'empty',
|
||||||
|
'export',
|
||||||
|
'expression',
|
||||||
|
'for',
|
||||||
|
'function',
|
||||||
|
'if',
|
||||||
|
'iife',
|
||||||
|
'import',
|
||||||
|
'return',
|
||||||
|
'switch',
|
||||||
|
'throw',
|
||||||
|
'try',
|
||||||
|
'var',
|
||||||
|
'while',
|
||||||
|
'with'
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'blankLine': 'always',
|
||||||
|
'prev': 'const',
|
||||||
|
'next': [
|
||||||
|
'block',
|
||||||
|
'block-like',
|
||||||
|
'break',
|
||||||
|
'cjs-export',
|
||||||
|
'cjs-import',
|
||||||
|
'class',
|
||||||
|
'continue',
|
||||||
|
'debugger',
|
||||||
|
'directive',
|
||||||
|
'do',
|
||||||
|
'empty',
|
||||||
|
'export',
|
||||||
|
'expression',
|
||||||
|
'for',
|
||||||
|
'function',
|
||||||
|
'if',
|
||||||
|
'iife',
|
||||||
|
'import',
|
||||||
|
'let',
|
||||||
|
'return',
|
||||||
|
'switch',
|
||||||
|
'throw',
|
||||||
|
'try',
|
||||||
|
'var',
|
||||||
|
'while',
|
||||||
|
'with'
|
||||||
|
]
|
||||||
|
},
|
||||||
|
// Import
|
||||||
|
{
|
||||||
|
'blankLine': 'never',
|
||||||
|
'prev': 'import',
|
||||||
|
'next': 'import'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'blankLine': 'never',
|
||||||
|
'prev': 'cjs-import',
|
||||||
|
'next': 'cjs-import'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'blankLine': 'always',
|
||||||
|
'prev': [
|
||||||
|
'block',
|
||||||
|
'block-like',
|
||||||
|
'break',
|
||||||
|
'cjs-export',
|
||||||
|
'class',
|
||||||
|
'const',
|
||||||
|
'continue',
|
||||||
|
'debugger',
|
||||||
|
'directive',
|
||||||
|
'do',
|
||||||
|
'empty',
|
||||||
|
'export',
|
||||||
|
'expression',
|
||||||
|
'for',
|
||||||
|
'function',
|
||||||
|
'if',
|
||||||
|
'iife',
|
||||||
|
'let',
|
||||||
|
'return',
|
||||||
|
'switch',
|
||||||
|
'throw',
|
||||||
|
'try',
|
||||||
|
'var',
|
||||||
|
'while',
|
||||||
|
'with'
|
||||||
|
],
|
||||||
|
'next': 'cjs-import'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'blankLine': 'always',
|
||||||
|
'prev': 'cjs-import',
|
||||||
|
'next': [
|
||||||
|
'block',
|
||||||
|
'block-like',
|
||||||
|
'break',
|
||||||
|
'cjs-export',
|
||||||
|
'class',
|
||||||
|
'const',
|
||||||
|
'continue',
|
||||||
|
'debugger',
|
||||||
|
'directive',
|
||||||
|
'do',
|
||||||
|
'empty',
|
||||||
|
'export',
|
||||||
|
'expression',
|
||||||
|
'for',
|
||||||
|
'function',
|
||||||
|
'if',
|
||||||
|
'iife',
|
||||||
|
'let',
|
||||||
|
'return',
|
||||||
|
'switch',
|
||||||
|
'throw',
|
||||||
|
'try',
|
||||||
|
'var',
|
||||||
|
'while',
|
||||||
|
'with'
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'blankLine': 'always',
|
||||||
|
'prev': [
|
||||||
|
'block',
|
||||||
|
'block-like',
|
||||||
|
'break',
|
||||||
|
'cjs-export',
|
||||||
|
'class',
|
||||||
|
'const',
|
||||||
|
'continue',
|
||||||
|
'debugger',
|
||||||
|
'directive',
|
||||||
|
'do',
|
||||||
|
'empty',
|
||||||
|
'export',
|
||||||
|
'expression',
|
||||||
|
'for',
|
||||||
|
'function',
|
||||||
|
'if',
|
||||||
|
'iife',
|
||||||
|
'let',
|
||||||
|
'return',
|
||||||
|
'switch',
|
||||||
|
'throw',
|
||||||
|
'try',
|
||||||
|
'var',
|
||||||
|
'while',
|
||||||
|
'with'
|
||||||
|
],
|
||||||
|
'next': 'import'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'blankLine': 'always',
|
||||||
|
'prev': 'import',
|
||||||
|
'next': [
|
||||||
|
'block',
|
||||||
|
'block-like',
|
||||||
|
'break',
|
||||||
|
'cjs-export',
|
||||||
|
'class',
|
||||||
|
'const',
|
||||||
|
'continue',
|
||||||
|
'debugger',
|
||||||
|
'directive',
|
||||||
|
'do',
|
||||||
|
'empty',
|
||||||
|
'export',
|
||||||
|
'expression',
|
||||||
|
'for',
|
||||||
|
'function',
|
||||||
|
'if',
|
||||||
|
'iife',
|
||||||
|
'let',
|
||||||
|
'return',
|
||||||
|
'switch',
|
||||||
|
'throw',
|
||||||
|
'try',
|
||||||
|
'var',
|
||||||
|
'while',
|
||||||
|
'with'
|
||||||
|
]
|
||||||
|
},
|
||||||
|
// If
|
||||||
|
{
|
||||||
|
'blankLine': 'always',
|
||||||
|
'prev': '*',
|
||||||
|
'next': 'if'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'blankLine': 'always',
|
||||||
|
'prev': 'if',
|
||||||
|
'next': '*'
|
||||||
|
},
|
||||||
|
// For
|
||||||
|
{
|
||||||
|
'blankLine': 'always',
|
||||||
|
'prev': '*',
|
||||||
|
'next': 'for'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'blankLine': 'always',
|
||||||
|
'prev': 'for',
|
||||||
|
'next': '*'
|
||||||
|
},
|
||||||
|
// While
|
||||||
|
{
|
||||||
|
'blankLine': 'always',
|
||||||
|
'prev': '*',
|
||||||
|
'next': 'while'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'blankLine': 'always',
|
||||||
|
'prev': 'while',
|
||||||
|
'next': '*'
|
||||||
|
},
|
||||||
|
// Functions
|
||||||
|
{
|
||||||
|
'blankLine': 'always',
|
||||||
|
'prev': '*',
|
||||||
|
'next': 'function'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'blankLine': 'always',
|
||||||
|
'prev': 'function',
|
||||||
|
'next': '*'
|
||||||
|
},
|
||||||
|
// Block Statements
|
||||||
|
{
|
||||||
|
'blankLine': 'always',
|
||||||
|
'prev': '*',
|
||||||
|
'next': 'block-like'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'blankLine': 'always',
|
||||||
|
'prev': 'block-like',
|
||||||
|
'next': '*'
|
||||||
|
},
|
||||||
|
// Switch
|
||||||
|
{
|
||||||
|
'blankLine': 'always',
|
||||||
|
'prev': '*',
|
||||||
|
'next': 'switch'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'blankLine': 'always',
|
||||||
|
'prev': 'switch',
|
||||||
|
'next': '*'
|
||||||
|
},
|
||||||
|
// Try-Catch
|
||||||
|
{
|
||||||
|
'blankLine': 'always',
|
||||||
|
'prev': '*',
|
||||||
|
'next': 'try'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'blankLine': 'always',
|
||||||
|
'prev': 'try',
|
||||||
|
'next': '*'
|
||||||
|
},
|
||||||
|
// Throw
|
||||||
|
{
|
||||||
|
'blankLine': 'always',
|
||||||
|
'prev': '*',
|
||||||
|
'next': 'throw'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'blankLine': 'always',
|
||||||
|
'prev': 'throw',
|
||||||
|
'next': '*'
|
||||||
|
},
|
||||||
|
// Return
|
||||||
|
{
|
||||||
|
'blankLine': 'never',
|
||||||
|
'prev': 'return',
|
||||||
|
'next': '*'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'blankLine': 'always',
|
||||||
|
'prev': '*',
|
||||||
|
'next': 'return'
|
||||||
|
},
|
||||||
|
// Export
|
||||||
|
{
|
||||||
|
'blankLine': 'always',
|
||||||
|
'prev': '*',
|
||||||
|
'next': 'export'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'blankLine': 'always',
|
||||||
|
'prev': 'export',
|
||||||
|
'next': '*'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'blankLine': 'always',
|
||||||
|
'prev': '*',
|
||||||
|
'next': 'cjs-export'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'blankLine': 'always',
|
||||||
|
'prev': 'cjs-export',
|
||||||
|
'next': '*'
|
||||||
|
},
|
||||||
|
// Classes
|
||||||
|
{
|
||||||
|
'blankLine': 'always',
|
||||||
|
'prev': '*',
|
||||||
|
'next': 'class'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'blankLine': 'always',
|
||||||
|
'prev': 'class',
|
||||||
|
'next': '*'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
'@stylistic/quote-props': [
|
||||||
|
'error',
|
||||||
|
'always'
|
||||||
|
],
|
||||||
|
'@stylistic/quotes': [
|
||||||
|
'error',
|
||||||
|
'single'
|
||||||
|
],
|
||||||
|
'@stylistic/rest-spread-spacing': [
|
||||||
|
'error',
|
||||||
|
'never'
|
||||||
|
],
|
||||||
|
'@stylistic/semi': [
|
||||||
|
'error',
|
||||||
|
'always'
|
||||||
|
],
|
||||||
|
'@stylistic/semi-spacing': [
|
||||||
|
'error',
|
||||||
|
{
|
||||||
|
'before': false,
|
||||||
|
'after': true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
'@stylistic/semi-style': [
|
||||||
|
'error',
|
||||||
|
'last'
|
||||||
|
],
|
||||||
|
'@stylistic/space-before-blocks': [
|
||||||
|
'error',
|
||||||
|
'always'
|
||||||
|
],
|
||||||
|
'@stylistic/space-before-function-paren': [
|
||||||
|
'error',
|
||||||
|
'always'
|
||||||
|
],
|
||||||
|
'@stylistic/space-in-parens': [
|
||||||
|
'error',
|
||||||
|
'always'
|
||||||
|
],
|
||||||
|
'@stylistic/space-infix-ops': [
|
||||||
|
'error',
|
||||||
|
{
|
||||||
|
'int32Hint': false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
'@stylistic/space-unary-ops': 'error',
|
||||||
|
'@stylistic/spaced-comment': [
|
||||||
|
'error',
|
||||||
|
'always'
|
||||||
|
],
|
||||||
|
'@stylistic/switch-colon-spacing': 'error',
|
||||||
|
'@stylistic/template-curly-spacing': [
|
||||||
|
'error',
|
||||||
|
'always'
|
||||||
|
],
|
||||||
|
'@stylistic/template-tag-spacing': [
|
||||||
|
'error',
|
||||||
|
'always'
|
||||||
|
],
|
||||||
|
'@stylistic/type-generic-spacing': 'error',
|
||||||
|
'@stylistic/type-named-tuple-spacing': 'error',
|
||||||
|
'@stylistic/wrap-iife': [
|
||||||
|
'error',
|
||||||
|
'inside'
|
||||||
|
],
|
||||||
|
'@stylistic/wrap-regex': 'error',
|
||||||
|
'@stylistic/ts/type-annotation-spacing': 'error'
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/** @type {import('eslint').Linter.Config} */
|
||||||
|
export default tseslint.config(
|
||||||
|
// Base JavaScript rules
|
||||||
|
eslint.configs.recommended,
|
||||||
|
tseslint.configs.recommended,
|
||||||
|
style,
|
||||||
|
|
||||||
|
// Vue support (including TS and JSX inside SFCs)
|
||||||
|
{
|
||||||
|
'files': [ '**/*.vue' ],
|
||||||
|
'languageOptions': {
|
||||||
|
'sourceType': 'module',
|
||||||
|
'ecmaVersion': 'latest',
|
||||||
|
'globals': globals.browser,
|
||||||
|
'parserOptions': {
|
||||||
|
'parser': tseslint.parser
|
||||||
|
}
|
||||||
|
},
|
||||||
|
'plugins': {
|
||||||
|
'vue': vue,
|
||||||
|
'@stylistic': stylistic,
|
||||||
|
'@stylistic/js': stylistic,
|
||||||
|
'@stylistic/ts': stylistic,
|
||||||
|
'@typescript-eslint': typescript
|
||||||
|
},
|
||||||
|
'extends': [
|
||||||
|
eslint.configs.recommended,
|
||||||
|
...vue.configs['flat/recommended']
|
||||||
|
],
|
||||||
|
'rules': {
|
||||||
|
...typescript.configs.recommended.rules,
|
||||||
|
...style.rules,
|
||||||
|
|
||||||
|
// Vue specific rules
|
||||||
|
'@stylistic/indent': 'off',
|
||||||
|
'vue/html-indent': [
|
||||||
|
'error',
|
||||||
|
4
|
||||||
|
],
|
||||||
|
'vue/html-comment-indent': [
|
||||||
|
'error',
|
||||||
|
4
|
||||||
|
],
|
||||||
|
'vue/script-indent': [
|
||||||
|
'error',
|
||||||
|
4,
|
||||||
|
{
|
||||||
|
'baseIndent': 1,
|
||||||
|
'switchCase': 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
'vue/html-self-closing': [
|
||||||
|
'error',
|
||||||
|
{
|
||||||
|
'html': {
|
||||||
|
'void': 'never',
|
||||||
|
'normal': 'never',
|
||||||
|
'component': 'always'
|
||||||
|
},
|
||||||
|
'svg': 'always',
|
||||||
|
'math': 'never'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
'vue/max-attributes-per-line': [
|
||||||
|
'error',
|
||||||
|
{
|
||||||
|
'singleline': 3,
|
||||||
|
'multiline': 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
@@ -0,0 +1,82 @@
|
|||||||
|
# Use spaces for indent (because f*k tabs)
|
||||||
|
defaultIndent: " "
|
||||||
|
|
||||||
|
# Limit Number of backups
|
||||||
|
maxNumberOfBackups: 3
|
||||||
|
|
||||||
|
verbatimEnvironments:
|
||||||
|
verbatim: 1
|
||||||
|
lstlisting: 1
|
||||||
|
minted: 1
|
||||||
|
code: 1
|
||||||
|
|
||||||
|
indentRules:
|
||||||
|
recall: " "
|
||||||
|
remarks: " "
|
||||||
|
remark: " "
|
||||||
|
guides: " "
|
||||||
|
properties: " "
|
||||||
|
restrictions: " "
|
||||||
|
limitations: " "
|
||||||
|
terms: " "
|
||||||
|
notation: " "
|
||||||
|
usage: " "
|
||||||
|
task: " "
|
||||||
|
proof: " "
|
||||||
|
general: " "
|
||||||
|
simplebox: " "
|
||||||
|
definition: " "
|
||||||
|
theorem: " "
|
||||||
|
lemma: " "
|
||||||
|
corollary: " "
|
||||||
|
axiom: " "
|
||||||
|
fact: " "
|
||||||
|
proposition: " "
|
||||||
|
example: " "
|
||||||
|
formula: " "
|
||||||
|
conjugation: " "
|
||||||
|
forms: " "
|
||||||
|
|
||||||
|
lookForAlignDelims:
|
||||||
|
tables:
|
||||||
|
delims: 1
|
||||||
|
alignDoubleBackSlash: 1
|
||||||
|
spacesBeforeDoubleBackSlash: 1
|
||||||
|
multiColumnGrouping: 0
|
||||||
|
alignRowsWithoutMaxDelims: 1
|
||||||
|
spacesBeforeAmpersand: 1
|
||||||
|
spacesAfterAmpersand: 1
|
||||||
|
justification: left
|
||||||
|
alignFinalDoubleBackSlash: 0
|
||||||
|
dontMeasure: 0
|
||||||
|
delimiterRegEx: (?<!\\)(&)
|
||||||
|
delimiterJustification: left
|
||||||
|
lookForChildCodeBlocks: 1
|
||||||
|
alignContentAfterDoubleBackSlash: 0
|
||||||
|
spacesAfterDoubleBackSlash: 1
|
||||||
|
|
||||||
|
specialBeginEnd:
|
||||||
|
If:
|
||||||
|
begin: '\\If'
|
||||||
|
middle:
|
||||||
|
- '\\ElsIf'
|
||||||
|
- '\\Else'
|
||||||
|
end: '\\EndIf'
|
||||||
|
lookForThis: 1
|
||||||
|
For:
|
||||||
|
begin: '\\For'
|
||||||
|
end: '\\EndFor'
|
||||||
|
lookForThis: 1
|
||||||
|
Procedure:
|
||||||
|
begin: '\\Procedure'
|
||||||
|
end: '\\EndProcedure'
|
||||||
|
lookForThis: 1
|
||||||
|
Function:
|
||||||
|
begin: '\\Function'
|
||||||
|
end: '\\EndFunction'
|
||||||
|
lookForThis: 1
|
||||||
|
While:
|
||||||
|
begin: '\\While'
|
||||||
|
end: '\\EndWhile'
|
||||||
|
lookForThis: 1
|
||||||
|
specialBeforeCommand: 1
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"devDependencies": {
|
||||||
|
"@eslint/js": "^9.28.0",
|
||||||
|
"@stylistic/eslint-plugin": "^4.4.1",
|
||||||
|
"eslint-plugin-vue": "^10.2.0",
|
||||||
|
"typescript-eslint": "^8.33.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1 +1,30 @@
|
|||||||
import decman
|
import decman
|
||||||
|
from modules.core import utilities
|
||||||
|
from modules.core.system import base, pipewire
|
||||||
|
from modules.core.applications import dev_tools, games, steering_wheel, virtual_machines
|
||||||
|
from modules.core.ui import file_manager, fonts, hyprland, login, shell
|
||||||
|
from modules.coding import latex, neovim
|
||||||
|
|
||||||
|
if decman.aur:
|
||||||
|
decman.aur.ignored_packages |= {"yay"}
|
||||||
|
|
||||||
|
if decman.pacman:
|
||||||
|
decman.pacman.ignored_packages |= {"yay"}
|
||||||
|
|
||||||
|
user = "janis"
|
||||||
|
decman.modules += [
|
||||||
|
base.BasePackages(),
|
||||||
|
pipewire.Pipewire(),
|
||||||
|
dev_tools.DevTools(),
|
||||||
|
games.Games(),
|
||||||
|
steering_wheel.SteeringWheel(),
|
||||||
|
file_manager.FileManager(),
|
||||||
|
fonts.Fonts(),
|
||||||
|
hyprland.Hyprland(),
|
||||||
|
login.LoginManager("desktop"),
|
||||||
|
shell.DesktopShell(),
|
||||||
|
neovim.Neovim(),
|
||||||
|
latex.Latex(user),
|
||||||
|
utilities.UtilPackages(),
|
||||||
|
virtual_machines.VirtualMachines(user),
|
||||||
|
]
|
||||||
|
|||||||
Executable
+27
@@ -0,0 +1,27 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
echo "
|
||||||
|
_ _ ( ) ( )_
|
||||||
|
(_) _ _ ___ (_) ___| |__ _ _| _)____
|
||||||
|
| |/ _ ) _ \ | __) _ \ ) ( ) | (_ )
|
||||||
|
| | (_| | ( ) | |__ \ | | | (_) | |_ / /_
|
||||||
|
_ | |\__ _)_) (_)_)____/_) (_)\___/ \__)____)
|
||||||
|
( )_| |
|
||||||
|
\___/
|
||||||
|
|
||||||
|
=> Migration to V4
|
||||||
|
-> WARNING: This will remove the old configurations from the system
|
||||||
|
"
|
||||||
|
|
||||||
|
|
||||||
|
confirmation=""
|
||||||
|
read -p "Do you really want to remove the old configuration files and update to the new configs? (y/N) " confirmation
|
||||||
|
if [[ "$confirmation" == "y" ]]; then
|
||||||
|
rm -rf ~/.config/hypr
|
||||||
|
rm ~/.config/platform
|
||||||
|
rm -rf ~/.config/rofi
|
||||||
|
rm -rf ~/.config/ags
|
||||||
|
rm -rf ~/.config/astal
|
||||||
|
else
|
||||||
|
echo "Aborting."
|
||||||
|
fi
|
||||||
+38
-7
@@ -2,22 +2,53 @@ import decman
|
|||||||
from decman.plugins import pacman
|
from decman.plugins import pacman
|
||||||
|
|
||||||
|
|
||||||
class BaseModule(decman.Module):
|
class Latex(decman.Module):
|
||||||
def __init__(self):
|
def __init__(self, user: str):
|
||||||
"""Base packages that should never be uninstalled"""
|
"""Base packages that should never be uninstalled"""
|
||||||
|
self._user = user
|
||||||
super().__init__("latex")
|
super().__init__("latex")
|
||||||
|
|
||||||
@pacman.packages
|
@pacman.packages
|
||||||
def pkgs(self) -> set[str]:
|
def pkgs(self) -> set[str]:
|
||||||
return {
|
return {
|
||||||
"texlive",
|
"biber",
|
||||||
"texlive-langgerman",
|
|
||||||
"perl-yaml-tiny",
|
"perl-yaml-tiny",
|
||||||
"perl-file-homedir",
|
"perl-file-homedir",
|
||||||
"biber",
|
"python-pygments",
|
||||||
"texlab",
|
"texlab",
|
||||||
|
"texlive-basic",
|
||||||
|
"texlive-bibtexextra",
|
||||||
|
"texlive-binextra",
|
||||||
|
"texlive-context",
|
||||||
|
"texlive-fontsextra",
|
||||||
|
"texlive-fontsrecommended",
|
||||||
|
"texlive-fontutils",
|
||||||
|
"texlive-formatsextra",
|
||||||
|
"texlive-games",
|
||||||
|
"texlive-humanities",
|
||||||
|
"texlive-latex",
|
||||||
|
"texlive-latexextra",
|
||||||
|
"texlive-latexrecommended",
|
||||||
|
"texlive-lualatex",
|
||||||
|
"texlive-mathscience",
|
||||||
|
"texlive-metapost",
|
||||||
|
"texlive-music",
|
||||||
|
"texlive-pictures",
|
||||||
|
"texlive-plaingeneric",
|
||||||
|
"texlive-pstricks",
|
||||||
|
"texlive-publishers",
|
||||||
|
"texlive-xetex",
|
||||||
|
"texlive-langgerman",
|
||||||
}
|
}
|
||||||
|
|
||||||
def on_enable(self, store: decman.Store):
|
def on_enable(self, store: decman.Store):
|
||||||
# TODO: clone the git repo
|
decman.prg(
|
||||||
return super().on_enable(store)
|
[
|
||||||
|
"cd",
|
||||||
|
"~/projects/",
|
||||||
|
"git",
|
||||||
|
"clone",
|
||||||
|
"https://git.janishutz.com/janishutz/latex",
|
||||||
|
],
|
||||||
|
user=self._user,
|
||||||
|
)
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import decman
|
|||||||
from decman.plugins import pacman, aur
|
from decman.plugins import pacman, aur
|
||||||
|
|
||||||
|
|
||||||
class NeovimModule(decman.Module):
|
class Neovim(decman.Module):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
"""Neovim Packages"""
|
"""Neovim Packages"""
|
||||||
super().__init__("neovim")
|
super().__init__("neovim")
|
||||||
@@ -15,6 +15,7 @@ class NeovimModule(decman.Module):
|
|||||||
"lua-language-server",
|
"lua-language-server",
|
||||||
"tree-sitter",
|
"tree-sitter",
|
||||||
"tree-sitter-cli",
|
"tree-sitter-cli",
|
||||||
|
"shell-color-scripts-git",
|
||||||
"stylua",
|
"stylua",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -17,12 +17,31 @@ class DevTools(decman.Module):
|
|||||||
"docker-buildx",
|
"docker-buildx",
|
||||||
"docker-compose",
|
"docker-compose",
|
||||||
"filezilla",
|
"filezilla",
|
||||||
"kitty",
|
|
||||||
"lazygit",
|
|
||||||
"git-lfs",
|
"git-lfs",
|
||||||
"hugo",
|
"hugo",
|
||||||
|
"kitty",
|
||||||
|
"lazygit",
|
||||||
"meld",
|
"meld",
|
||||||
"minisign",
|
"minisign",
|
||||||
|
"python-argcomplete",
|
||||||
|
"python-black",
|
||||||
|
"python-build",
|
||||||
|
"python-colorama",
|
||||||
|
"python-install",
|
||||||
|
"python-jsonschema",
|
||||||
|
"python-pip",
|
||||||
|
"python-numpy",
|
||||||
|
"python-scipy",
|
||||||
|
"python-sympy",
|
||||||
"serpl",
|
"serpl",
|
||||||
"terminator",
|
"terminator",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def directories(self) -> dict[str, decman.Directory]:
|
||||||
|
return {
|
||||||
|
"~/.config/lazygit": decman.Directory("./config/lazygit"),
|
||||||
|
"~/.config/kitty": decman.Directory("./config/kitty"),
|
||||||
|
}
|
||||||
|
|
||||||
|
def files(self) -> dict[str, decman.File]:
|
||||||
|
return {"~/.indentconfig.yaml": decman.File("./linters/indentconfig.yaml")}
|
||||||
|
|||||||
@@ -12,12 +12,16 @@ class Games(decman.Module):
|
|||||||
return {
|
return {
|
||||||
"android-udev",
|
"android-udev",
|
||||||
"android-tools",
|
"android-tools",
|
||||||
"lib32-vulkan-radeon",
|
"gamemode",
|
||||||
"vulkan-radeon",
|
|
||||||
"steam",
|
|
||||||
"prismlauncher",
|
|
||||||
"gamemmode",
|
|
||||||
"gamescope",
|
"gamescope",
|
||||||
|
# "lib32-vulkan-radeon",
|
||||||
|
"lovr",
|
||||||
|
"obs-studio",
|
||||||
|
"obs-studio-plugin-browser",
|
||||||
|
"prismlauncher",
|
||||||
|
"steam",
|
||||||
|
"vulkan-radeon",
|
||||||
|
"v4l2loopback-dkms",
|
||||||
}
|
}
|
||||||
|
|
||||||
@aur.packages
|
@aur.packages
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import decman
|
|||||||
from decman.plugins import aur
|
from decman.plugins import aur
|
||||||
|
|
||||||
|
|
||||||
class BasePackages(decman.Module):
|
class SteeringWheel(decman.Module):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
"""Base packages that should never be uninstalled"""
|
"""Base packages that should never be uninstalled"""
|
||||||
super().__init__("steering-wheel")
|
super().__init__("steering-wheel")
|
||||||
|
|||||||
@@ -0,0 +1,23 @@
|
|||||||
|
import decman
|
||||||
|
from decman.plugins import pacman
|
||||||
|
|
||||||
|
|
||||||
|
class VirtualMachines(decman.Module):
|
||||||
|
def __init__(self, user: str):
|
||||||
|
"""Set up virtual machines"""
|
||||||
|
self._user = user
|
||||||
|
super().__init__("virtualmachines")
|
||||||
|
|
||||||
|
@pacman.packages
|
||||||
|
def pkgs(self) -> set[str]:
|
||||||
|
return {
|
||||||
|
"dnsmasq",
|
||||||
|
"ebtables",
|
||||||
|
"qemu-base",
|
||||||
|
"vde2" "virt-manager",
|
||||||
|
"virt-viewer",
|
||||||
|
}
|
||||||
|
|
||||||
|
def on_enable(self, store: decman.Store):
|
||||||
|
# TODO: Everywhere, make user configurable
|
||||||
|
decman.prg(["usermod", "-G", "libvirt", "-a", self._user])
|
||||||
@@ -11,33 +11,41 @@ class BasePackages(decman.Module):
|
|||||||
def pkgs(self) -> set[str]:
|
def pkgs(self) -> set[str]:
|
||||||
return {
|
return {
|
||||||
"base",
|
"base",
|
||||||
|
"base-devel",
|
||||||
|
"cifs",
|
||||||
"cups",
|
"cups",
|
||||||
"efibootmgr",
|
"efibootmgr",
|
||||||
|
"git",
|
||||||
"grub",
|
"grub",
|
||||||
"linux",
|
"linux",
|
||||||
"linux-firmware",
|
"linux-firmware",
|
||||||
"linux-headers",
|
"linux-headers",
|
||||||
|
"mesa",
|
||||||
|
"mesa-utils",
|
||||||
"networkmanager",
|
"networkmanager",
|
||||||
"git",
|
"paccache",
|
||||||
|
"plymouth",
|
||||||
|
"reflector",
|
||||||
"sudo",
|
"sudo",
|
||||||
"systemd-resolvconf",
|
"systemd-resolvconf",
|
||||||
"trash-cli",
|
"trash-cli",
|
||||||
"base-devel",
|
|
||||||
"cifs",
|
|
||||||
"reflector",
|
|
||||||
"paccache",
|
|
||||||
"plymouth"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@aur.packages
|
@aur.packages
|
||||||
def aurpkgs(self) -> set[str]:
|
def aurpkgs(self) -> set[str]:
|
||||||
return {"decman"}
|
return {"decman"}
|
||||||
|
|
||||||
|
# TODO:
|
||||||
|
# def file_variables(self) -> dict[str, str]:
|
||||||
|
# return super().file_variables()
|
||||||
|
|
||||||
def files(self) -> dict[str, decman.File]:
|
def files(self) -> dict[str, decman.File]:
|
||||||
|
# TODO: File substitutions (for PC and laptop)
|
||||||
return {
|
return {
|
||||||
"/etc/mkinitcpio.conf": decman.File(source_file="./system/mkinitcpio.conf"),
|
"/etc/mkinitcpio.conf": decman.File(source_file="./system/mkinitcpio.conf"),
|
||||||
"/etc/pacman.conf": decman.File(source_file="./system/pacman.conf"),
|
"/etc/pacman.conf": decman.File(source_file="./system/pacman.conf"),
|
||||||
"/etc/default/grub": decman.File(source_file="./system/grub"),
|
"/etc/default/grub": decman.File(source_file="./system/grub"),
|
||||||
|
"/etc/environment": decman.File(source_file="./system/environment"),
|
||||||
}
|
}
|
||||||
|
|
||||||
def on_change(self, store):
|
def on_change(self, store):
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
import decman
|
import decman
|
||||||
from decman.plugins import pacman, aur
|
from decman.plugins import pacman
|
||||||
|
|
||||||
|
|
||||||
class BaseModule(decman.Module):
|
class Pipewire(decman.Module):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
"""Base packages that should never be uninstalled"""
|
"""Base packages that should never be uninstalled"""
|
||||||
super().__init__("base")
|
super().__init__("pipewire")
|
||||||
|
|
||||||
@pacman.packages
|
@pacman.packages
|
||||||
def pkgs(self) -> set[str]:
|
def pkgs(self) -> set[str]:
|
||||||
|
|||||||
@@ -2,26 +2,31 @@ import decman
|
|||||||
from decman.plugins import pacman, aur
|
from decman.plugins import pacman, aur
|
||||||
|
|
||||||
|
|
||||||
class BaseModule(decman.Module):
|
class FileManager(decman.Module):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
"""Base packages that should never be uninstalled"""
|
"""Base packages that should never be uninstalled"""
|
||||||
super().__init__("yazi")
|
super().__init__("filemanager")
|
||||||
|
|
||||||
@pacman.packages
|
@pacman.packages
|
||||||
def pkgs(self) -> set[str]:
|
def pkgs(self) -> set[str]:
|
||||||
return {
|
return {
|
||||||
"yazi",
|
"ifuse",
|
||||||
|
"libimobiledevice",
|
||||||
"ouch",
|
"ouch",
|
||||||
"grub",
|
"yazi",
|
||||||
"linux",
|
|
||||||
"networkmanager",
|
|
||||||
"git",
|
|
||||||
"base-devel",
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@aur.packages
|
@aur.packages
|
||||||
def aurpkgs(self) -> set[str]:
|
def aurpkgs(self) -> set[str]:
|
||||||
return {"xdg-desktop-portal-termfilechooser-hunkyburrito-git"}
|
return {"xdg-desktop-portal-termfilechooser-hunkyburrito-git"}
|
||||||
|
|
||||||
def files(self) -> dict[str, decman.File]:
|
def directories(self) -> dict[str, decman.Directory]:
|
||||||
return super().files()
|
return {
|
||||||
|
"~/.config/xdg-desktop-portal": decman.Directory(
|
||||||
|
"./config/xdg-desktop-portal"
|
||||||
|
),
|
||||||
|
"~/.config/xdg-desktop-portal-termfilechooser": decman.Directory(
|
||||||
|
"./config/xdg-desktop-portal-termfilechooser"
|
||||||
|
),
|
||||||
|
"~/.config/yazi": decman.Directory("./config/yazi"),
|
||||||
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import decman
|
|||||||
from decman.plugins import pacman, aur
|
from decman.plugins import pacman, aur
|
||||||
|
|
||||||
|
|
||||||
class BaseModule(decman.Module):
|
class Fonts(decman.Module):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
"""Base packages that should never be uninstalled"""
|
"""Base packages that should never be uninstalled"""
|
||||||
super().__init__("fonts")
|
super().__init__("fonts")
|
||||||
@@ -10,7 +10,7 @@ class BaseModule(decman.Module):
|
|||||||
@pacman.packages
|
@pacman.packages
|
||||||
def pkgs(self) -> set[str]:
|
def pkgs(self) -> set[str]:
|
||||||
return {
|
return {
|
||||||
"adobe-source-code-pro-fonts"
|
"adobe-source-code-pro-fonts",
|
||||||
"ttf-fantasque-nerd",
|
"ttf-fantasque-nerd",
|
||||||
"ttf-jetbrains-mono-nerd",
|
"ttf-jetbrains-mono-nerd",
|
||||||
"ttf-iosevka-nerd",
|
"ttf-iosevka-nerd",
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
import decman
|
import decman
|
||||||
from decman.plugins import pacman, aur
|
from decman.plugins import pacman
|
||||||
|
|
||||||
|
|
||||||
class BaseModule(decman.Module):
|
class Hyprland(decman.Module):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
"""Base packages that should never be uninstalled"""
|
"""Base packages that should never be uninstalled"""
|
||||||
super().__init__("base")
|
super().__init__("hyprland")
|
||||||
|
|
||||||
@pacman.packages
|
@pacman.packages
|
||||||
def pkgs(self) -> set[str]:
|
def pkgs(self) -> set[str]:
|
||||||
@@ -15,19 +15,17 @@ class BaseModule(decman.Module):
|
|||||||
"hypridle",
|
"hypridle",
|
||||||
"hyprshutdown",
|
"hyprshutdown",
|
||||||
"grimblast",
|
"grimblast",
|
||||||
"grim",
|
|
||||||
"xdg-desktop-portal-hyprland",
|
"xdg-desktop-portal-hyprland",
|
||||||
"hyprpolkitagent",
|
"hyprpolkitagent",
|
||||||
"hyprpaper",
|
"hyprpaper",
|
||||||
"wl-clipboard",
|
"wl-clipboard",
|
||||||
"cliphist",
|
"cliphist",
|
||||||
"hyrplauncher",
|
|
||||||
"hyprpwcenter",
|
"hyprpwcenter",
|
||||||
"hyprtoolkit",
|
"hyprtoolkit",
|
||||||
}
|
}
|
||||||
|
|
||||||
def directories(self) -> dict[str, decman.Directory]:
|
def directories(self) -> dict[str, decman.Directory]:
|
||||||
return super().directories()
|
return {"~/.config/hypr": decman.Directory("./config/hypr")}
|
||||||
|
|
||||||
def on_change(self, store: decman.Store):
|
def on_change(self, store: decman.Store):
|
||||||
return super().on_change(store)
|
return super().on_change(store)
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ class LoginManager(decman.Module):
|
|||||||
def __init__(self, platform: Literal["desktop", "laptop"]):
|
def __init__(self, platform: Literal["desktop", "laptop"]):
|
||||||
"""Base packages that should never be uninstalled"""
|
"""Base packages that should never be uninstalled"""
|
||||||
self._platform: Literal["desktop", "laptop"] = platform
|
self._platform: Literal["desktop", "laptop"] = platform
|
||||||
super().__init__("base")
|
super().__init__("login")
|
||||||
|
|
||||||
@pacman.packages
|
@pacman.packages
|
||||||
def pkgs(self) -> set[str]:
|
def pkgs(self) -> set[str]:
|
||||||
@@ -20,12 +20,19 @@ class LoginManager(decman.Module):
|
|||||||
else:
|
else:
|
||||||
return {"gdm"}
|
return {"gdm"}
|
||||||
|
|
||||||
# TODO: Config files for laptop and desktop
|
|
||||||
# TODO: Consider dms greetd for desktop
|
|
||||||
|
|
||||||
@systemd.units
|
@systemd.units
|
||||||
def units(self) -> set[str]:
|
def units(self) -> set[str]:
|
||||||
if self._platform == "desktop":
|
if self._platform == "desktop":
|
||||||
return {"greetd.service"}
|
return {"greetd.service"}
|
||||||
else:
|
else:
|
||||||
return {"gdm.service"}
|
return {"gdm.service"}
|
||||||
|
|
||||||
|
def files(self) -> dict[str, decman.File]:
|
||||||
|
if self._platform == "desktop":
|
||||||
|
return {
|
||||||
|
"/etc/greetd/config.toml": decman.File("./system/greetd/config.toml"),
|
||||||
|
"/etc/pam.d/greetd": decman.File("./system/greetd/pam"),
|
||||||
|
}
|
||||||
|
else:
|
||||||
|
# TODO: GDM config files
|
||||||
|
return {}
|
||||||
|
|||||||
@@ -6,15 +6,12 @@ from decman.plugins import pacman
|
|||||||
class DesktopShell(decman.Module):
|
class DesktopShell(decman.Module):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
"""DesktopShell"""
|
"""DesktopShell"""
|
||||||
super().__init__("base")
|
super().__init__("desktopshell")
|
||||||
|
|
||||||
@pacman.packages
|
@pacman.packages
|
||||||
def pkgs(self) -> set[str]:
|
def pkgs(self) -> set[str]:
|
||||||
return {"dms-shell", "cava", "matugen"}
|
return {"dms-shell", "cava", "matugen"}
|
||||||
|
|
||||||
# TODO: Copy the config, once done
|
# TODO: Copy the config of dms, once done
|
||||||
def directories(self) -> dict[str, decman.Directory]:
|
def directories(self) -> dict[str, decman.Directory]:
|
||||||
return { "~/.config/matugen": decman.Directory("./config/matugen") }
|
return { "~/.config/matugen": decman.Directory("./config/matugen") }
|
||||||
|
|
||||||
def files(self) -> dict[str, decman.File]:
|
|
||||||
return { "~/.config/matugen": decman.File("") }
|
|
||||||
|
|||||||
@@ -12,8 +12,7 @@ class UtilPackages(decman.Module):
|
|||||||
return {
|
return {
|
||||||
"bashtop",
|
"bashtop",
|
||||||
"bluez",
|
"bluez",
|
||||||
"bluez-utils",
|
"clamav",
|
||||||
"blueman",
|
|
||||||
"dig",
|
"dig",
|
||||||
"evince",
|
"evince",
|
||||||
"fastfetch",
|
"fastfetch",
|
||||||
@@ -31,9 +30,9 @@ class UtilPackages(decman.Module):
|
|||||||
"man-db",
|
"man-db",
|
||||||
"mpv",
|
"mpv",
|
||||||
"nextcloud-client",
|
"nextcloud-client",
|
||||||
"obs-studio",
|
|
||||||
"okular",
|
"okular",
|
||||||
"openconnect",
|
"openconnect",
|
||||||
|
"os-prober",
|
||||||
"qalculate-qt",
|
"qalculate-qt",
|
||||||
"ripgrep",
|
"ripgrep",
|
||||||
"simple-scan",
|
"simple-scan",
|
||||||
@@ -48,8 +47,24 @@ class UtilPackages(decman.Module):
|
|||||||
"zathura-pdf-poppler",
|
"zathura-pdf-poppler",
|
||||||
"zip",
|
"zip",
|
||||||
"zoxide",
|
"zoxide",
|
||||||
|
"networkmanager-openconnect",
|
||||||
}
|
}
|
||||||
|
|
||||||
@aur.packages
|
@aur.packages
|
||||||
def aurpkgs(self) -> set[str]:
|
def aurpkgs(self) -> set[str]:
|
||||||
return {"librewolf-bin", "brave-bin", "vesktop-bin", "uxplay", "git-credential-manager-bin"}
|
return {
|
||||||
|
"librewolf-bin",
|
||||||
|
"brave-bin",
|
||||||
|
"vesktop-bin",
|
||||||
|
"uxplay",
|
||||||
|
"git-credential-manager-bin",
|
||||||
|
"gradia",
|
||||||
|
"parabolic"
|
||||||
|
}
|
||||||
|
|
||||||
|
def directories(self) -> dict[str, decman.Directory]:
|
||||||
|
return {
|
||||||
|
"~/.config/fish": decman.Directory("./config/fish"),
|
||||||
|
"~/.config/fastfetch": decman.Directory("./config/fastfetch"),
|
||||||
|
"~/.config/mpv": decman.Directory("./config/mpv"),
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
import decman
|
|
||||||
|
|
||||||
|
|
||||||
class SystemTheme(decman.Module):
|
|
||||||
pass
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
mkdir ~/.config/quickshell | true
|
|
||||||
cp -r ./config/quickshell/* ~/.config/quickshell/
|
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
#
|
||||||
|
# This file is parsed by pam_env module
|
||||||
|
#
|
||||||
|
# Syntax: simple "KEY=VAL" pairs on separate lines
|
||||||
|
#
|
||||||
|
|
||||||
|
QT_QPA_PLATFORM=wayland
|
||||||
|
GCM_CREDENTIAL_STORE=secretservice
|
||||||
|
RADV_PERFTEST_RT=1
|
||||||
|
ANDROID_HOME=/home/janis/Android/Sdk
|
||||||
|
EDITOR=nvim
|
||||||
|
PAGER=nvimpager
|
||||||
|
MANPAGER=nvimpager
|
||||||
|
# QT_QPA_PLATFORMTHEME=gtk3
|
||||||
|
# GTK_THEME=Adaptive-Theme
|
||||||
|
# GTK_THEME=Material-Black-Blueberry
|
||||||
|
# QT_STYLE_OVERRIDE=kvantum
|
||||||
|
# VKD3D_CONFIG=dxr11,dxr
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
[terminal]
|
||||||
|
# The VT to run the greeter on. Can be "next", "current" or a number
|
||||||
|
# designating the VT.
|
||||||
|
vt = 1
|
||||||
|
|
||||||
|
# The default session, also known as the greeter.
|
||||||
|
[default_session]
|
||||||
|
command = "tuigreet --cmd Hyprland --time --remember --remember-user-session --asterisks --user-menu --sessions /usr/share/wayland-sessions"
|
||||||
|
|
||||||
|
# The user to run the command as. The privileges this user must have depends
|
||||||
|
# on the greeter. A graphical greeter may for example require the user to be
|
||||||
|
# in the `video` group.
|
||||||
|
user = "greeter"
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
#%PAM-1.0
|
||||||
|
|
||||||
|
auth required pam_securetty.so
|
||||||
|
auth requisite pam_nologin.so
|
||||||
|
auth include system-local-login
|
||||||
|
auth optional pam_gnome_keyring.so
|
||||||
|
account include system-local-login
|
||||||
|
session include system-local-login
|
||||||
|
session optional pam_gnome_keyring.so auto_start
|
||||||
+63
@@ -0,0 +1,63 @@
|
|||||||
|
# GRUB boot loader configuration
|
||||||
|
|
||||||
|
GRUB_DEFAULT=0
|
||||||
|
GRUB_TIMEOUT=5
|
||||||
|
GRUB_DISTRIBUTOR="Arch"
|
||||||
|
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 module_blacklist=hid-thrustmaster,hid_thrustmaster quiet splash"
|
||||||
|
GRUB_CMDLINE_LINUX="module_blacklist=hid-thrustmaster,hid_thrustmaster"
|
||||||
|
|
||||||
|
# Preload both GPT and MBR modules so that they are not missed
|
||||||
|
GRUB_PRELOAD_MODULES="part_gpt part_msdos"
|
||||||
|
|
||||||
|
# Uncomment to enable booting from LUKS encrypted devices
|
||||||
|
#GRUB_ENABLE_CRYPTODISK=y
|
||||||
|
|
||||||
|
# Set to 'countdown' or 'hidden' to change timeout behavior,
|
||||||
|
# press ESC key to display menu.
|
||||||
|
GRUB_TIMEOUT_STYLE=menu
|
||||||
|
|
||||||
|
# Uncomment to use basic console
|
||||||
|
GRUB_TERMINAL_INPUT=console
|
||||||
|
|
||||||
|
# Uncomment to disable graphical terminal
|
||||||
|
#GRUB_TERMINAL_OUTPUT=console
|
||||||
|
|
||||||
|
# The resolution used on graphical terminal
|
||||||
|
# note that you can use only modes which your graphic card supports via VBE
|
||||||
|
# you can see them in real GRUB with the command `videoinfo'
|
||||||
|
GRUB_GFXMODE=1920x1080
|
||||||
|
|
||||||
|
# Uncomment to allow the kernel use the same resolution used by grub
|
||||||
|
GRUB_GFXPAYLOAD_LINUX=keep
|
||||||
|
|
||||||
|
# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
|
||||||
|
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
|
||||||
|
#GRUB_DISABLE_LINUX_UUID=true
|
||||||
|
|
||||||
|
# Uncomment to disable generation of recovery mode menu entries
|
||||||
|
GRUB_DISABLE_RECOVERY=true
|
||||||
|
|
||||||
|
# Uncomment and set to the desired menu colors. Used by normal and wallpaper
|
||||||
|
# modes only. Entries specified as foreground/background.
|
||||||
|
#GRUB_COLOR_NORMAL="light-blue/black"
|
||||||
|
#GRUB_COLOR_HIGHLIGHT="light-cyan/blue"
|
||||||
|
|
||||||
|
# Uncomment one of them for the gfx desired, a image background or a gfxtheme
|
||||||
|
#GRUB_BACKGROUND="/path/to/wallpaper"
|
||||||
|
|
||||||
|
# Uncomment to get a beep at GRUB start
|
||||||
|
#GRUB_INIT_TUNE="480 440 1"
|
||||||
|
|
||||||
|
# Uncomment to make GRUB remember the last selection. This requires
|
||||||
|
# setting 'GRUB_DEFAULT=saved' above.
|
||||||
|
#GRUB_SAVEDEFAULT=true
|
||||||
|
|
||||||
|
# Uncomment to disable submenus in boot menu
|
||||||
|
#GRUB_DISABLE_SUBMENU=y
|
||||||
|
|
||||||
|
# Probing for other operating systems is disabled for security reasons. Read
|
||||||
|
# documentation on GRUB_DISABLE_OS_PROBER, if still want to enable this
|
||||||
|
# functionality install os-prober and uncomment to detect and include other
|
||||||
|
# operating systems.
|
||||||
|
GRUB_DISABLE_OS_PROBER=false
|
||||||
|
GRUB_THEME="/usr/share/grub/themes/monterey-grub-theme/theme.txt"
|
||||||
@@ -0,0 +1,73 @@
|
|||||||
|
# vim:set ft=sh
|
||||||
|
# MODULES
|
||||||
|
# The following modules are loaded before any boot hooks are
|
||||||
|
# run. Advanced users may wish to specify all system modules
|
||||||
|
# in this array. For instance:
|
||||||
|
# MODULES=(usbhid xhci_hcd)
|
||||||
|
MODULES=()
|
||||||
|
|
||||||
|
# BINARIES
|
||||||
|
# This setting includes any additional binaries a given user may
|
||||||
|
# wish into the CPIO image. This is run last, so it may be used to
|
||||||
|
# override the actual binaries included by a given hook
|
||||||
|
# BINARIES are dependency parsed, so you may safely ignore libraries
|
||||||
|
BINARIES=()
|
||||||
|
|
||||||
|
# FILES
|
||||||
|
# This setting is similar to BINARIES above, however, files are added
|
||||||
|
# as-is and are not parsed in any way. This is useful for config files.
|
||||||
|
FILES=()
|
||||||
|
|
||||||
|
# HOOKS
|
||||||
|
# This is the most important setting in this file. The HOOKS control the
|
||||||
|
# modules and scripts added to the image, and what happens at boot time.
|
||||||
|
# Order is important, and it is recommended that you do not change the
|
||||||
|
# order in which HOOKS are added. Run 'mkinitcpio -H <hook name>' for
|
||||||
|
# help on a given hook.
|
||||||
|
# 'base' is _required_ unless you know precisely what you are doing.
|
||||||
|
# 'udev' is _required_ in order to automatically load modules
|
||||||
|
# 'filesystems' is _required_ unless you specify your fs modules in MODULES
|
||||||
|
# Examples:
|
||||||
|
## This setup specifies all modules in the MODULES setting above.
|
||||||
|
## No RAID, lvm2, or encrypted root is needed.
|
||||||
|
# HOOKS=(base)
|
||||||
|
#
|
||||||
|
## This setup will autodetect all modules for your system and should
|
||||||
|
## work as a sane default
|
||||||
|
# HOOKS=(base udev autodetect modconf block filesystems fsck)
|
||||||
|
#
|
||||||
|
## This setup will generate a 'full' image which supports most systems.
|
||||||
|
## No autodetection is done.
|
||||||
|
# HOOKS=(base udev modconf block filesystems fsck)
|
||||||
|
#
|
||||||
|
## This setup assembles a mdadm array with an encrypted root file system.
|
||||||
|
## Note: See 'mkinitcpio -H mdadm_udev' for more information on RAID devices.
|
||||||
|
# HOOKS=(base udev modconf keyboard keymap consolefont block mdadm_udev encrypt filesystems fsck)
|
||||||
|
#
|
||||||
|
## This setup loads an lvm2 volume group.
|
||||||
|
# HOOKS=(base udev modconf block lvm2 filesystems fsck)
|
||||||
|
#
|
||||||
|
## NOTE: If you have /usr on a separate partition, you MUST include the
|
||||||
|
# usr and fsck hooks.
|
||||||
|
HOOKS=(base udev autodetect modconf kms keyboard keymap consolefont block filesystems fsck plymouth)
|
||||||
|
|
||||||
|
# COMPRESSION
|
||||||
|
# Use this to compress the initramfs image. By default, zstd compression
|
||||||
|
# is used. Use 'cat' to create an uncompressed image.
|
||||||
|
#COMPRESSION="zstd"
|
||||||
|
#COMPRESSION="gzip"
|
||||||
|
#COMPRESSION="bzip2"
|
||||||
|
#COMPRESSION="lzma"
|
||||||
|
#COMPRESSION="xz"
|
||||||
|
#COMPRESSION="lzop"
|
||||||
|
#COMPRESSION="lz4"
|
||||||
|
|
||||||
|
# COMPRESSION_OPTIONS
|
||||||
|
# Additional options for the compressor
|
||||||
|
#COMPRESSION_OPTIONS=()
|
||||||
|
|
||||||
|
# MODULES_DECOMPRESS
|
||||||
|
# Decompress kernel modules during initramfs creation.
|
||||||
|
# Enable to speedup boot process, disable to save RAM
|
||||||
|
# during early userspace. Switch (yes/no).
|
||||||
|
#MODULES_DECOMPRESS="yes"
|
||||||
@@ -0,0 +1,100 @@
|
|||||||
|
#
|
||||||
|
# /etc/pacman.conf
|
||||||
|
#
|
||||||
|
# See the pacman.conf(5) manpage for option and repository directives
|
||||||
|
|
||||||
|
#
|
||||||
|
# GENERAL OPTIONS
|
||||||
|
#
|
||||||
|
[options]
|
||||||
|
# The following paths are commented out with their default values listed.
|
||||||
|
# If you wish to use different paths, uncomment and update the paths.
|
||||||
|
#RootDir = /
|
||||||
|
#DBPath = /var/lib/pacman/
|
||||||
|
#CacheDir = /var/cache/pacman/pkg/
|
||||||
|
#LogFile = /var/log/pacman.log
|
||||||
|
#GPGDir = /etc/pacman.d/gnupg/
|
||||||
|
#HookDir = /etc/pacman.d/hooks/
|
||||||
|
HoldPkg = pacman glibc
|
||||||
|
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
|
||||||
|
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
|
||||||
|
#CleanMethod = KeepInstalled
|
||||||
|
Architecture = auto
|
||||||
|
ILoveCandy
|
||||||
|
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
|
||||||
|
#IgnorePkg =
|
||||||
|
#IgnoreGroup =
|
||||||
|
|
||||||
|
#NoUpgrade =
|
||||||
|
#NoExtract =
|
||||||
|
|
||||||
|
# Misc options
|
||||||
|
#UseSyslog
|
||||||
|
Color
|
||||||
|
#NoProgressBar
|
||||||
|
CheckSpace
|
||||||
|
#VerbosePkgLists
|
||||||
|
ParallelDownloads = 5
|
||||||
|
|
||||||
|
# By default, pacman accepts packages signed by keys that its local keyring
|
||||||
|
# trusts (see pacman-key and its man page), as well as unsigned packages.
|
||||||
|
SigLevel = Required DatabaseOptional
|
||||||
|
LocalFileSigLevel = Optional
|
||||||
|
#RemoteFileSigLevel = Required
|
||||||
|
|
||||||
|
# NOTE: You must run `pacman-key --init` before first using pacman; the local
|
||||||
|
# keyring can then be populated with the keys of all official Arch Linux
|
||||||
|
# packagers with `pacman-key --populate archlinux`.
|
||||||
|
|
||||||
|
#
|
||||||
|
# REPOSITORIES
|
||||||
|
# - can be defined here or included from another file
|
||||||
|
# - pacman will search repositories in the order defined here
|
||||||
|
# - local/custom mirrors can be added here or in separate files
|
||||||
|
# - repositories listed first will take precedence when packages
|
||||||
|
# have identical names, regardless of version number
|
||||||
|
# - URLs will have $repo replaced by the name of the current repo
|
||||||
|
# - URLs will have $arch replaced by the name of the architecture
|
||||||
|
#
|
||||||
|
# Repository entries are of the format:
|
||||||
|
# [repo-name]
|
||||||
|
# Server = ServerName
|
||||||
|
# Include = IncludePath
|
||||||
|
#
|
||||||
|
# The header [repo-name] is crucial - it must be present and
|
||||||
|
# uncommented to enable the repo.
|
||||||
|
#
|
||||||
|
|
||||||
|
# The testing repositories are disabled by default. To enable, uncomment the
|
||||||
|
# repo name header and Include lines. You can add preferred servers immediately
|
||||||
|
# after the header, and they will be used before the default mirrors.
|
||||||
|
|
||||||
|
#[testing]
|
||||||
|
#Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
[core]
|
||||||
|
Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
[extra]
|
||||||
|
Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
#[extra-testing]
|
||||||
|
#Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
# If you want to run 32 bit applications on your x86_64 system,
|
||||||
|
# enable the multilib repositories as required here.
|
||||||
|
|
||||||
|
#[multilib-testing]
|
||||||
|
#Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
[multilib]
|
||||||
|
Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
[arch4edu]
|
||||||
|
Server = https://de.arch4edu.mirror.kescher.at/$arch
|
||||||
|
|
||||||
|
# An example of a custom package repository. See the pacman manpage for
|
||||||
|
# tips on creating your own repositories.
|
||||||
|
#[custom]
|
||||||
|
#SigLevel = Optional TrustAll
|
||||||
|
#Server = file:///home/custompkgs
|
||||||
Reference in New Issue
Block a user