Winget chegou para aperfeiçoar o Windows

Um momento, vou testar para ver o que é.

1 curtida

Ok, obrigado :slightly_smiling_face:

Basicamente, essa opção te leva pra um arquivo .json com o seguinte conteúdo:

{
    "$schema": "https://aka.ms/winget-settings.schema.json",

    // For documentation on these settings, see: https://aka.ms/winget-settings
    // "source": {
    //    "autoUpdateIntervalInMinutes": 5
    // },
}

parece um arquivo de configurações do winget.

1 curtida

Vlw por mostrar a saida, tava curioso!

Mas eu entrei na url (https://aka.ms/winget-settings.schema.json), ele me tacou pra isso:

{
  "$id": "https://aka.ms/winget-settings.schema.json",
  "$schema": "https://json-schema.org/draft/2019-09/schema#",
  "title": "Microsoft's Windows Package Manager Settings Profile Schema",
  "definitions": {
    "Source": {
      "description": "Source repository settings",
      "type": "object",
      "properties": {
        "autoUpdateIntervalInMinutes": {
          "description": "Number of minutes before source update",
          "type": "integer",
          "default": 5,
          "minimum": 0,
          "maximum": 43200
        }
      }
    },
    "Visual": {
      "description": "Visual settings",
      "type": "object",
      "properties": {
        "progressBar": {
          "description": "Progress bar display style",
          "type": "string",
          "enum": [
            "accent",
            "rainbow",
            "plain",
            "retro"
          ]
        }
      }
    },
    "InstallPrefReq": {
      "description": "Shared schema for preferences and requirements",
      "type": "object",
      "properties": {
        "scope": {
          "description": "The scope of a package install",
          "type": "string",
          "enum": [
            "user",
            "machine"
          ],
          "default": "user"
        },
        "locale": {
          "description": "The locales of a package install",
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^([a-zA-Z]{2}|[iI]-[a-zA-Z]+|[xX]-[a-zA-Z]{1,8})(-[a-zA-Z]{1,8})*$",
            "maxLength": 20
          },
          "minItems": 1,
          "maxItems": 10
        }
      }
    },
    "InstallBehavior": {
      "description": "Install settings",
      "type": "object",
      "properties": {
        "preferences": { "$ref": "#/definitions/InstallPrefReq" },
        "requirements": { "$ref": "#/definitions/InstallPrefReq" }
      }
    },
    "Telemetry": {
      "description": "Telemetry settings",
      "type": "object",
      "properties": {
        "disable": {
          "description": "Controls whether telemetry events are written",
          "type": "boolean",
          "default": false
        }
      }
    },
    "Network": {
      "description": "Network settings",
      "type": "object",
      "properties": {
        "downloader": {
          "description": "Control which download code is used for packages",
          "type": "string",
          "enum": [
            "default",
            "wininet",
            "do"
          ],
          "default": "default"
        },
        "doProgressTimeoutInSeconds": {
          "description": "Number of seconds to wait without progress before fallback",
          "type": "integer",
          "default": 60,
          "minimum": 1,
          "maximum": 600
        }
      }
    },
    "Experimental": {
      "description": "Experimental Features",
      "type": "object",
      "properties": {
        "experimentalCMD": {
          "description": "Reference implementation for an experimental command",
          "type": "boolean",
          "default": false
        },
        "experimentalARG": {
          "description": "Reference implementation for an experimental argument",
          "type": "boolean",
          "default": false
        },
        "dependencies": {
          "description": "Support for package dependencies",
          "type": "boolean",
          "default": false
        },
        "directMSI": {
          "description": "Enable use of MSI APIs rather than msiexec for MSI installs",
          "type": "boolean",
          "default": false
        }
      }
    }
  },
  "allOf": [
    {
      "properties": {
        "visual": { "$ref": "#/definitions/Visual" }
      },
      "additionalItems": true
    },
    {
      "properties": {
        "source": { "$ref": "#/definitions/Source" }
      },
      "additionalItems": true
    },
    {
      "properties": {
        "installBehavior": { "$ref": "#/definitions/InstallBehavior" }
      },
      "additionalItems": true
    },
    {
      "properties": {
        "telemetry": { "$ref": "#/definitions/Telemetry" }
      },
      "additionalItems": true
    },
    {
      "properties": {
        "network": { "$ref": "#/definitions/Network" }
      },
      "additionalItems": true
    },
    {
      "properties": {
        "experimentalFeatures": { "$ref": "#/definitions/Experimental" }
      },
      "additionalItems": true
    }
  ],
  "additionalProperties": true
}

Que pelo que eu entendi , é tipo alguns exemplos de personalização! Que massa! Microsoft ta fazendo um bom trabalho, fizeram já um terminal legal, agora um gerenciador de pacotes “controlavel”.


@JG22 Seria esse o NindowsPKG declarativo?

3 curtidas

Sim, é isso mesmo.

O que é isso?

1 curtida

Fiz um trocadilho com a distro que eu uso, “nixOS”, ela tem um gerenciador de pacotes diferente e um sistema de configuração diferente, que é um arquivo unico chamado de configuração declarativa e nixPKG para o gerenciador de pacotes, dai o NindowsPKG declarativo, nixPKG e configuração declarativa.

Tenho um tópico mostrando: nixOS, básico sobre o projeto

1 curtida

Esse é outro que tá vindo por padrão agora, está até no menu “Iniciar”.

1 curtida

Quanta heresia em comparar com algo tão belo :stuck_out_tongue:

1 curtida

:rofl:

(10 caracteres)

Vc também consegue usar o Winget no Windows 10, mas você precisa entrar no programa Insider.

1 curtida

Negativo, zero meia. Basta atualizar o instalador de aplicativos pelo link da própria Microsoft… Como usar o Winget no Windows 10 para instalar novos aplicativos | Mundo Conectado

Ops… preciso me atualizar

1 curtida

Eu estou dando uma pesquisada aqui do winget, também fiquei curioso da opção “source” (vi na documentação “oficial” = O comando source do WinGet | Microsoft Learn) , e tem também o “source add”, pra que seria isso? para “adicionar repositorios”? Ou uma especie de git ou algo integrado ao mesmo?

Deixa eu ver.

1 curtida

winget source te dá essa saída:

Gerencie fontes usando os subcomandos. Uma fonte fornece dados para você descobrir e instalar pacotes. Adicione uma nova fonte apenas se você confiar nela como um local seguro.

uso: winget source <comando>

Os seguintes subcomandos estão disponíveis:
  add     Adicionar uma nova origem
  list    Listar fontes atuais
  update  Atualizar fontes atuais
  remove  Remover fontes atuais
  reset   Redefinir fontes
  export  Exportar fontes atuais

Para obter mais detalhes sobre um comando específico, passe o argumento help. [-?]

Mais tópicos de ajuda podem ser encontrados em: https://aka.ms/winget-command-source

e winget source add te dá essa:

Adicione uma nova fonte. Uma fonte fornece dados para você descobrir e instalar pacotes. Adicione uma nova fonte apenas se você confiar nela como um local seguro.

uso: winget source add [-n] <name> [-a] <arg> [[-t] <type>] [<opções>]

Os seguintes argumentos estão disponíveis:
  -n,--name                   Nome da fonte
  -a,--arg                    Argumento fornecido à fonte
  -t,--type                   Tipo da fonte

As seguintes opções estão disponíveis:
  --header                    Cabeçalho HTTP de origem REST opcional do Gerenciador de Pacotes do Windows
  --accept-source-agreements  Aceitar todos os acordos de origem durante as operações de origem

Mais tópicos de ajuda podem ser encontrados em: https://aka.ms/winget-command-source`

Parece algo equivalente a editar a sources.list no Linux.

1 curtida

Esse método existe desde que o Winget foi criado.

O Winget não vem por padrão, mas sim, é possível usá-lo no Windows 10.

1 curtida

Obrigado por mostrar a saida, interessante o que a M$ ta fazendo, o windows 11 ta bem legal, com esses “recursos herdados”. Vou tentar criar uma maquina virtual depois para testar eu mesmo o windows 11 , ainda não sei nada além do que postaram aqui no fórum, então talvez seja uma experiencia legal.

1 curtida

Winget funcionando:

winget install --id Mozilla.Firefox
Encontrado Mozilla Firefox [Mozilla.Firefox] Versão 93.0
Este aplicativo é licenciado para você pelo proprietário.
A Microsoft não é responsável por, nem concede licenças a pacotes de terceiros.
Downloading https://download-installer.cdn.mozilla.net/pub/firefox/releases/93.0/win64/en-US/Firefox%20Setup%2093.0.msi
  ██████████████████████████████  52.1 MB / 52.1 MB
Hash do instalador verificado com êxito
Iniciando a instalação do pacote...
Instalado com êxito
winget install --id Valve.Steam
Encontrado Steam [Valve.Steam] Versão 2.10.91.91
Este aplicativo é licenciado para você pelo proprietário.
A Microsoft não é responsável por, nem concede licenças a pacotes de terceiros.
Downloading https://steamcdn-a.akamaihd.net/client/installer/SteamSetup.exe
  ██████████████████████████████  1.68 MB / 1.68 MB
Hash do instalador verificado com êxito
Iniciando a instalação do pacote...
Instalado com êxito

O que não gostei foi que ele confundiu os pacotes do Firefox e do Steam com outros não relacionados, ai eu tive que colocar o parametro --id, @Vnp se você for testar saiba que você tem que sempre colocar o parametro --id para que o winget não confunda os pacotes.

1 curtida

Quando for fazer a instalação, segue a dica do @dev_null [TUTORIAL] Como instalar Windows 11 numa VM no Linux

3 curtidas

Opa, obrigado, não tinha ido atrás da vm ainda.